מוגדר לפיתוח 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. בדרך כלל, מערכת ה-build של Android פועלת ART במכונת ה-build כדי להדר מראש קובצי DEX של המערכת. ART יכול לפעול רק ב- לכן מערכת ה-build מדלגת על השלב הזה של הידור מראש ב-Linux של מערכות ההפעלה, וכתוצאה מכך build של 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 ו-Command,
  • Android 5.x: Mac OS X v10.8 (Mountain Lion) עם Xcode 4.5.2 וכלי שורת הפקודה

JDK

מוגדר לפיתוח AOSP (2.3-4.4)

בקטע הזה מפורטות הנחיות להגדרת Android 2.3 באמצעות Android 4.4.

מערכות הפעלה

מערכת Android בדרך כלל נבנה עם GNU Linux. אפשר גם לפתח גרסת Android במכונה וירטואלית במערכות לא נתמכות כמו Windows.

Google ממליצה להשתמש ב-GNU Linux. בדרך כלל, מערכת ה-build של Android פועלת ART במכונת ה-build כדי להדר מראש קובצי DEX של המערכת. ART יכול לפעול רק ב- לכן מערכת ה-build מדלגת על השלב הזה של הידור מראש ב-Linux של מערכות ההפעלה, וכתוצאה מכך build של 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 גרסה 10.6 (לבן וניל) Leopard) או ב-Mac OS X v10.7 (Lion) וב-Xcode 4.2 (כלים למפתחים של Apple)
  • Android 2.3 - Android 4.0.x: Mac OS X v10.5 (Leopard) או Mac OS X v10.6 (Snow Leopard) ו-Mac OS X v10.5 SDK

יצרן GNU

ל-Android מגרסה 4.1.x עד 4.4, יש להשתמש ב-GNU make (gmake) 3.82. ל-Android מגרסה 2.3 עד 4.0.x, יש לחזור מ-gmake 3.82 אל להימנע משגיאות build.

Xcode וחבילות אחרות

ב-Mac OS X v10.8 ומטה, יש להתקין את Xcode האתר למפתחים של Apple. אם אתם לא רשום כמפתח Apple, עליך ליצור Apple ID כדי להוריד.

אם משתמשים ב-Mac OS X גרסה 10.4, מתקינים גם את 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

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 עם Ubuntu 14.04. גרסאות גבוהות יותר של חבילות (לדוגמה, גרסאות של 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