בדף הזה נסביר איך להגדיר את סביבת הפיתוח ל-Android מגרסה 8.0 ואילך. במאמר הגדרה לפיתוח ב-AOSP מוסבר איך יוצרים גרסאות build של Android מגרסה 9.0 ואילך.
מוגדר לפיתוח AOSP (5.0 עד 8.0)
ל-Android מגרסה 5.0 עד 8.0, מומלץ להשתמש בקובץ Dockerfile המצורף כדי להקל על ההתקנה של כל החבילות הנדרשות.
מערכות הפעלה
בדרך כלל, Android נוצר באמצעות GNU Linux. אפשר גם ליצור build של Android במכונה וירטואלית במערכות שלא נתמכות, כמו Mac OS X.
Google ממליצה לבנות ב-GNU Linux. בדרך כלל, מערכת ה-build של Android מפעילה את ART במכונת ה-build כדי לבצע קומפילציה מראש של קובצי ה-DEX של המערכת. ART יכול לפעול רק ב-Linux, ולכן מערכת ה-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 מגרסה 10.10 (Yosemite) ואילך עם Xcode 4.5.2 וכלי שורת הפקודה
- Android 5.x: Mac OS X v10.8 (Mountain Lion) עם Xcode 4.5.2 וכלי שורת הפקודה
JDK
Android 7.0 עד Android 8.0:
- Ubuntu: OpenJDK 8
- Mac OS X: JDK 8u45 ואילך
Android 5.x (Lollipop) – Android 6.0 (Marshmallow):
- Ubuntu: OpenJDK 7
- Mac OS X: jdk-7u71-macosx-x64.dmg
הגדרה לפיתוח AOSP (2.3 עד 4.4)
הקטע הזה מספק כמה הנחיות להגדרת Android 2.3 עד Android 4.4.
מערכות הפעלה
בדרך כלל, Android נוצר באמצעות GNU Linux. אפשר גם ליצור build של Android במכונה וירטואלית במערכות שלא נתמכות, כמו Windows.
Google ממליצה לבנות ב-GNU Linux. בדרך כלל, מערכת ה-build של Android מפעילה את ART במכונת ה-build כדי לבצע קומפילציה מראש של קובצי ה-DEX של המערכת. ART יכול לפעול רק ב-Linux, ולכן מערכת ה-build מדלגת על השלב הזה של הידור מראש במערכות הפעלה שאינן של Linux, וכתוצאה מכך נוצרת גרסת build של Android עם ביצועים נמוכים יותר.
GNU Linux
- Android 2.3.x – Android 4.4: Ubuntu 12.04 (Precise)
Mac OS X (Intel/x86)
- Android 4.1.x – Android 4.4.x: Mac OS X מגרסה 10.6 (Snow Leopard) או Mac OS X מגרסה 10.7 (Lion) ו-Xcode 4.2 (Apple Developer Tools)
- 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 make
ב-Android מגרסה 4.1.x עד 4.4, משתמשים ב-GNU make (gmake) 3.82. לגרסאות Android מ-2.3 עד 4.0.x, צריך לחזור לגרסה 3.82 של gmake כדי למנוע שגיאות build.
Xcode וחבילות אחרות
ל-Mac OS X מגרסה 10.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 שמונעת את ה-build של Android. כדי להתקין את הגרסה 3.81 באמצעות MacPorts:
עורכים את
/opt/local/etc/macports/sources.conf
ומוסיפים אתfile:///Users/Shared/dports
מעל השורהrsync
.יוצרים את הספרייה
dports
:mkdir /Users/Shared/dports
בספרייה החדשה
dports
, מריצים את הפקודה:svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
יוצרים אינדקס יציאות למאגר המקומי החדש:
portindex /Users/Shared/dports
מתקינים את הגרסה הנמוכה יותר של gmake:
sudo port install gmake @3.81
JDK
- Android 2.3.x עד Android 4.4.x:
- Ubuntu: Java JDK 6
- Mac OS X: Java JDK 6
JDK ל-Linux
פרויקט Android Open Source Project (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 לפי ההוראות הבאות.
מורידים את החבילות של
.deb
לארכיטקטורה של 64 ביט מ-old-releases.ubuntu.comopenjdk-8-jre-headless_8u45-b14-1_amd64.deb
עם SHA2560f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
openjdk-8-jre_8u45-b14-1_amd64.deb
עם SHA2569ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
openjdk-8-jdk_8u45-b14-1_amd64.deb
עם SHA2566e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
לחלופין, מאמתים את סיכומי הביקורת של הקבצים שהורדתם בשלב 1, מול מחרוזת SHA256 שמופיעה עם כל חבילה. לדוגמה, באמצעות הכלי
sha256sum
:sha256sum {downloaded.deb file}
מתקינים את החבילות:
sudo apt-get update
מריצים את
dpkg
לכל אחד מקובצי.deb
שהורדתם. היא עלולה לגרום לשגיאות בגלל יחסי תלות חסרים:sudo dpkg -i {downloaded.deb file}
כדי לפתור בעיות של יחסי תלות חסרים:
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