الإعداد لتطوير AOSP (من 2.3 إلى 8.0)

تناقش هذه الصفحة كيفية الإعداد للتطوير باستخدام Android 8.0 أو والإصدارات الأقدم. للتعرّف على كيفية إنشاء إصدار Android 9.0 أو إصدار أحدث، يُرجى الاطّلاع على الإعداد لتطوير AOSP

الإعداد لتطوير AOSP (من 5.0 إلى 8.0)

بالنسبة إلى الإصدارات من Android 5.0 إلى 8.0، يمكنك استخدام ملف Dockerfile لتسهيل تثبيت جميع الحزم المطلوبة.

أنظمة التشغيل

عادةً ما يكون نظام التشغيل Android مزوّدًا بـ GNU Linux. من الممكن أيضًا إنشاء Android في جهاز افتراضي على أنظمة غير متوافقة، مثل Mac OS X.

توصي Google بالإنشاء على GNU Linux. يعمل نظام إصدار Android بشكل طبيعي تنسيق ART على جهاز الإصدار لتجميع ملفات DEX للنظام بشكل مسبق. يمكن تشغيل ART فقط على Linux، لذا فإن نظام التصميم يتخطى خطوة التجميع المسبق هذه على أنظمة غير Linux أنظمة التشغيل، مما يؤدي إلى إصدار Android مع انخفاض في الأداء.

نظام التشغيل GNU Linux

  • Android 6.0 - Android 8.0: Ubuntu 14.04 (Trusty)
  • Android 5.x: Ubuntu 12.0

Mac OS X (Intel/x86)

  • Android 6.0 - AOSP 8.0: Mac OS X v10.10 (Yosemite) أو لاحقًا باستخدام Xcode 4.5.2 وأدوات سطر الأوامر
  • Android 5.x: الإصدار Mac OS X v10.8 (Mountain Lion) مع Xcode الإصدار 4.5.2 وأدوات سطر الأوامر

JDK

الإعداد لتطوير AOSP (من 2.3 إلى 4.4)

يقدّم هذا القسم بعض الإرشادات حول كيفية إعداد الإصدار Android 2.3 إلى الإصدار 4.4 من نظام التشغيل Android.

أنظمة التشغيل

عادةً ما يكون نظام التشغيل Android مزوّدًا بـ GNU Linux. من الممكن أيضًا تصميم Android في جهاز افتراضي على أنظمة غير متوافقة مثل Windows.

توصي Google بالإنشاء على GNU Linux. يعمل نظام إصدار Android بشكل طبيعي تنسيق ART على جهاز الإصدار لتجميع ملفات DEX للنظام بشكل مسبق. يمكن تشغيل ART فقط على Linux، لذا فإن نظام التصميم يتخطى خطوة التجميع المسبق هذه على أنظمة غير Linux أنظمة التشغيل، مما يؤدي إلى إصدار Android مع انخفاض في الأداء.

نظام التشغيل GNU Linux

  • Android 2.3.x - Android 4.4: Ubuntu 12.04 (دقيق)

Mac OS X (Intel/x86)

  • Android 4.1.x - Android 4.4.x: Mac OS X v10.6 (Snow) Leopard) أو Mac OS X الإصدار 10.7 (Lion) وXcode 4.2 (أدوات مطوّري برامج Apple)
  • Android 2.3 - Android 4.0.x: نظام التشغيل Mac OS X الإصدار 10.5 (Leopard) أو نظام التشغيل Mac OS X الإصدار 10.6 (Snow Leopard) وحزمة تطوير البرامج (SDK) الإصدار 10.5 من نظام التشغيل Mac OS X

العلامة التجارية GNU

على إصدارات Android من 4.1.x إلى 4.4، استخدِم GNU make (gmake) 3.82. بالنسبة إلى الإصدارات من 2.3 إلى 4.0.x من نظام Android، يجب الرجوع من gmake 3.82 إلى تجنب أخطاء الإصدار.

Xcode والحِزم الأخرى

على Mac OS X الإصدار 10.8 أو الإصدارات الأقدم، ثبّت Xcode من موقع المطوّرين الإلكتروني من Apple. إذا لم تكن كذلك مسجل بالفعل كمطور Apple، يجب عليك إنشاء معرّف Apple التنزيل.

في حال استخدام الإصدار 10.4 من نظام التشغيل Mac OS X، عليك أيضًا تثبيت Bison:

POSIXLY_CORRECT=1 sudo port install bison

بالنسبة إلى MacPorts، المشكلة:

POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

بالنسبة إلى Homebrew، المشكلة:

brew install gmake libsdl git gnupg2

العودة من gmake 3.82

في Android 4.0.x والإصدارات الأقدم، هناك خطأ في gmake 3.82 التي تمنع Android من الإنشاء. يمكنك تثبيت الإصدار 3.81 باستخدام MacPorts بهذه الخطوات:

  1. تعديل /opt/local/etc/macports/sources.conf وإضافة file:///Users/Shared/dports في أعلى السطر rsync

  2. إنشاء دليل dports:

    mkdir /Users/Shared/dports
    
  3. في دليل dports الجديد، شغِّل:

    svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
    
  4. إنشاء فهرس منفذ لمستودعك المحلي الجديد:

    portindex /Users/Shared/dports
    
  5. تثبيت الإصدار الأدنى من gmake:

    sudo port install gmake @3.81
    

JDK

  • Android 2.3.x - Android 4.4.x:

نظام JDK لنظام التشغيل Linux

تشير رسالة الأشكال البيانية المشروع المفتوح المصدر لنظام Android (AOSP) يأتي مع إصدارات مُنشأة مسبقًا من OpenJDK ضمن prebuilts/jdk/، لذلك يلزم إجراء تثبيت إضافي.

تتطلب الإصدارات السابقة من Android تثبيت JDK بشكل منفصل. مشغَّلة نظام التشغيل Ubuntu، استخدم أداة OpenJDK

لنظام التشغيل Ubuntu 15.04 والإصدارات الأحدث

قم بتشغيل ما يلي:

sudo apt-get update
sudo apt-get install openjdk-8-jdk

لنظام التشغيل Ubuntu LTS 14.04

لا تتوفّر حِزم OpenJDK 8 متوافقة لنظام التشغيل Ubuntu 14.04. تشير رسالة الأشكال البيانية استخدام حزم Ubuntu 15.04 OpenJDK 8 بنجاح باستخدام الإصدار 14.04 من نظام التشغيل Ubuntu. إصدارات الحزمة الأعلى (على سبيل المثال، حزم 15.10 وإصدارات 15.10)، 16.04) لا تعمل على الإصدار 14.04 باستخدام التعليمات التالية.

  1. يمكنك تنزيل حِزم .deb لبنية 64 بت من old-releases.ubuntu.com

    • openjdk-8-jre-headless_8u45-b14-1_amd64.deb باستخدام خوارزمية SHA256 0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
    • openjdk-8-jre_8u45-b14-1_amd64.deb باستخدام خوارزمية SHA256 9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
    • openjdk-8-jdk_8u45-b14-1_amd64.deb باستخدام خوارزمية SHA256 6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
  2. يمكنك بشكل اختياري تأكيد المجاميع الاختبارية للملفات التي تم تنزيلها مقابل سلسلة SHA256 مدرجة مع كل حزمة من الخطوة 1. على سبيل المثال، باستخدام دالة أداة sha256sum:

    sha256sum {downloaded.deb file}
    
  3. تثبيت الحزم:

    sudo apt-get update
    
  4. شغِّل dpkg لكل ملف من الملفات الـ .deb التي تم تنزيلها. قد تؤدّي إلى حدوث أخطاء بسبب التبعيات المفقودة:

    sudo dpkg -i {downloaded.deb file}
    
  5. لإصلاح التبعيات المفقودة:

    sudo apt-get -f install
    

(اختياري) تحديث إصدار Java التلقائي

بشكل اختياري، بالنسبة إلى إصدارات Ubuntu المذكورة سابقًا، يمكنك تحديث الإعداد الافتراضي إصدار Java من خلال تشغيل:

sudo update-alternatives --config java
sudo update-alternatives --config javac

تثبيت الحزم المطلوبة لنظام التشغيل Ubuntu 14.04

شغِّل الأوامر التالية لتثبيت الحِزَم المطلوبة لنظام التشغيل Ubuntu 14.04:

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip$

تثبيت الحزم المطلوبة لنظام التشغيل Ubuntu 12.04

شغّل الأوامر التالية لتثبيت الحزم المطلوبة لنظام التشغيل Ubuntu 12.04:

$ sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so