این صفحه نحوهی راهاندازی برای توسعه با اندروید ۸.۰ یا نسخههای پایینتر را مورد بحث قرار میدهد. برای یادگیری نحوهی ساخت اندروید ۹.۰ و بالاتر، به بخش راهاندازی برای توسعهی AOSP مراجعه کنید.
برای توسعه AOSP (5.0 - 8.0) تنظیم شده است
برای اندروید ۵.۰ تا ۸.۰، برای سهولت نصب تمام بستههای مورد نیاز، استفاده از Dockerfile موجود را در نظر بگیرید.
سیستمهای عامل
اندروید معمولاً با گنو لینوکس ساخته میشود. همچنین میتوان اندروید را در یک ماشین مجازی روی سیستمهای پشتیبانی نشده مانند Mac OS X ساخت.
گوگل توصیه میکند که روی گنو لینوکس ساخته شود. سیستم ساخت اندروید معمولاً ART را روی دستگاه ساخت اجرا میکند تا فایلهای DEX سیستم را پیشکامپایل کند. ART فقط روی لینوکس قابل اجرا است، بنابراین سیستم ساخت، این مرحله پیشکامپایل را روی سیستم عاملهای غیر لینوکسی نادیده میگیرد و در نتیجه، ساخت اندروید با عملکرد کاهشیافته حاصل میشود.
گنو لینوکس
- اندروید ۶.۰ - اندروید ۸.۰: اوبونتو ۱۴.۰۴ (قابل اعتماد)
- اندروید ۵.x: اوبونتو ۱۲.۰
مک او اس ایکس (اینتل/x86)
- اندروید ۶.۰ - AOSP 8.0: مک او اس ایکس نسخه ۱۰.۱۰ (یوسمیتی) یا بالاتر به همراه Xcode 4.5.2 و ابزارهای خط فرمان
- اندروید ۵.x: سیستم عامل مک ایکس نسخه ۱۰.۸ (شیر کوهی) به همراه Xcode 4.5.2 و ابزارهای خط فرمان
جیدیکی
اندروید ۷.۰ - اندروید ۸.۰:
- اوبونتو: OpenJDK 8
- مک او اس ایکس: JDK 8u45 یا بالاتر
اندروید ۵.x (لالیپاپ) - اندروید ۶.۰ (مارشمالو):
- اوبونتو: OpenJDK 7
- Mac OS X: jdk-7u71-macosx-x64.dmg
آمادهسازی برای توسعه AOSP (نسخههای ۲.۳ تا ۴.۴)
این بخش راهنماییهایی در مورد نحوه راهاندازی اندروید ۲.۳ تا اندروید ۴.۴ ارائه میدهد.
سیستمهای عامل
اندروید معمولاً با گنو لینوکس ساخته میشود. همچنین میتوان اندروید را در یک ماشین مجازی روی سیستمهای پشتیبانی نشده مانند ویندوز ساخت.
گوگل توصیه میکند که روی گنو لینوکس ساخته شود. سیستم ساخت اندروید معمولاً ART را روی دستگاه ساخت اجرا میکند تا فایلهای DEX سیستم را پیشکامپایل کند. ART فقط روی لینوکس قابل اجرا است، بنابراین سیستم ساخت، این مرحله پیشکامپایل را روی سیستم عاملهای غیر لینوکسی نادیده میگیرد و در نتیجه، ساخت اندروید با عملکرد کاهشیافته حاصل میشود.
گنو لینوکس
- اندروید ۲.۳.x - اندروید ۴.۴: اوبونتو ۱۲.۰۴ (دقیق)
مک او اس ایکس (اینتل/x86)
- اندروید ۴.۱.x - اندروید ۴.۴.x: سیستم عامل مک ایکس نسخه ۱۰.۶ (اسنو لئوپارد) یا مک ایکس ایکس نسخه ۱۰.۷ (لاین) و Xcode 4.2 (ابزارهای توسعهدهندگان اپل)
- اندروید ۲.۳ - اندروید ۴.۰.x: مک او اس ایکس نسخه ۱۰.۵ (پلنگ) یا مک او اس ایکس نسخه ۱۰.۶ (پلنگ برفی) و کیت توسعه نرمافزار مک او اس ایکس نسخه ۱۰.۵
گنو را بسازید
برای اندروید ۴.۱.x تا ۴.۴ از GNU make (gmake) 3.82 استفاده کنید. برای اندروید ۲.۳ تا ۴.۰.x، برای جلوگیری از خطاهای ساخت، از gmake 3.82 برگردید .
Xcode و سایر بستهها
برای Mac OS X نسخه ۱۰.۸ یا پایینتر، Xcode را از سایت توسعهدهندگان اپل نصب کنید. اگر قبلاً به عنوان توسعهدهنده اپل ثبتنام نکردهاید، برای دانلود باید یک Apple ID ایجاد کنید.
اگر از 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
در اندروید ۴.۰.x و پایینتر، gmake 3.82 دارای یک باگ است که مانع از ساخت اندروید میشود. میتوانید نسخه ۳.۸۱ را با استفاده از 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
جیدیکی
- اندروید ۲.۳.x - اندروید ۴.۴.x:
- اوبونتو: جاوا JDK 6
- مک او اس ایکس: جاوا JDK 6
JDK برای لینوکس
پروژه متنباز اندروید (AOSP) با نسخههای از پیش ساخته شده OpenJDK در prebuilts/jdk/ ارائه میشود، بنابراین نیازی به نصب اضافی نیست.
نسخههای قبلی اندروید نیاز به نصب جداگانه JDK دارند. در اوبونتو، از OpenJDK استفاده کنید.
برای اوبونتو ۱۵.۰۴ و بالاتر
دستور زیر را اجرا کنید:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
برای اوبونتو LTS 14.04
هیچ بسته OpenJDK 8 پشتیبانیشدهای برای اوبونتو ۱۴.۰۴ وجود ندارد. بستههای OpenJDK 8 اوبونتو ۱۵.۰۴ با موفقیت در اوبونتو ۱۴.۰۴ استفاده شدهاند. نسخههای بالاتر بسته (به عنوان مثال، نسخههای ۱۵.۱۰، ۱۶.۰۴) با استفاده از دستورالعملهای زیر روی ۱۴.۰۴ کار نمیکنند.
بستههای
.debرا برای معماری ۶۴ بیتی از old-releases.ubuntu.com دانلود کنید.-
openjdk-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
-
در صورت تمایل، میتوانید چکسامهای فایلهای دانلود شده را با رشته SHA256 ذکر شده در هر بسته از مرحله 1 تأیید کنید. برای مثال، با ابزار
sha256sum:sha256sum {downloaded.deb file}بستهها را نصب کنید:
sudo apt-get updatedpkgبرای هر یک از فایلهای.debکه دانلود کردهاید اجرا کنید. ممکن است به دلیل عدم وجود وابستگیها، خطاهایی ایجاد شود:sudo dpkg -i {downloaded.deb file}برای رفع وابستگیهای از دست رفته:
sudo apt-get -f install
(اختیاری) نسخه پیشفرض جاوا را بهروزرسانی کنید
به صورت اختیاری، برای نسخههای اوبونتو که قبلاً ذکر شد، نسخه پیشفرض جاوا را با اجرای دستور زیر بهروزرسانی کنید:
sudo update-alternatives --config java
sudo update-alternatives --config javac
نصب بستههای مورد نیاز برای اوبونتو ۱۴.۰۴
برای نصب بستههای مورد نیاز برای اوبونتو ۱۴.۰۴، دستورات زیر را اجرا کنید:
$ 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$
نصب بستههای مورد نیاز برای اوبونتو ۱۲.۰۴
برای نصب بستههای مورد نیاز برای اوبونتو ۱۲.۰۴، دستورات زیر را اجرا کنید:
$ 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