На этой странице описывается, как настроить разработку под 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
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 до 4.4.
Операционные системы
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 (Precise)
Mac OS X (Intel/x86)
- Android 4.1.x - Android 4.4.x: Mac OS X v10.6 (Snow 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) и SDK для Mac OS X v10.5
GNU make
Для Android 4.1.x – 4.4 используйте GNU make (gmake) 3.82 . Для Android 2.3 – 4.0.x вернитесь к версии gmake 3.82 , чтобы избежать ошибок сборки.
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 обнаружена ошибка, препятствующая сборке 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
Для Ubuntu 14.04 нет доступных поддерживаемых пакетов OpenJDK 8. Пакеты OpenJDK 8 для Ubuntu 15.04 успешно использовались с Ubuntu 14.04. Более новые версии пакетов (например, для 15.10, 16.04) не работают на 14.04 при использовании следующих инструкций.
Загрузите пакеты
.debдля 64-битной архитектуры с сайта 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 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