Настройка для разработки AOSP (1.5–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.

ГНУ Линукс

  • Android 5.x (леденец): Ubuntu 12.0
  • Android 6.0 (Marshmallow) — AOSP 8.0 (Oreo): Ubuntu 14.04 (Надежный)

Mac OS X (Intel/x86)

  • Android 6.0 (Marshmallow) — AOSP 8.0 (Oreo): Mac OS X v10.10 (Yosemite) или более поздняя версия с Xcode 4.5.2 и инструментами командной строки.
  • Android 5.x (Lollipop): Mac OS X v10.8 (Mountain Lion) с Xcode 4.5.2 и инструментами командной строки.

ЯДК

Настройка для разработки AOSP (1.5–4.4)

В этом разделе представлены некоторые рекомендации по настройке Android 1.5–Android 4.4.

Операционные системы

Android обычно создается на базе GNU Linux. Также возможно собрать Android на виртуальной машине в неподдерживаемых системах, таких как Windows.

Google рекомендует использовать GNU Linux. Система сборки Android обычно запускает ART на машине сборки для предварительной компиляции системных файлов DEX. ART может работать только в Linux, поэтому система сборки пропускает этот этап предварительной компиляции в операционных системах, отличных от Linux, что приводит к снижению производительности сборки Android.

ГНУ Линукс

  • Android 2.3.x (Gingerbread) — Android 4.4 (KitKat): Ubuntu 12.0 (точный)
  • Android 1.5 (Cupcake) — Android 2.2.x (Froyo): Ubuntu 10.04 (Lucid)

Mac OS X (Intel/x86)

  • Android 4.1.x (Jelly Bean) — Android 4.4.x (KitKat): Mac OS X v10.6 (Snow Leopard) или Mac OS X v10.7 (Lion) и Xcode 4.2 (инструменты разработчика Apple)
  • Android 1.5 (Cupcake) — Android 4.0.x (сэндвич с мороженым): Mac OS X v10.5 (Leopard) или Mac OS X v10.6 (Snow Leopard) и Mac OS X v10.5 SDK

GNU сделать

Для версий, предшествующих основной ветке AOSP до Android 4.1.x (Jelly Bean), используйте GNU make (gmake) 3.82 . Для Android 4.0.x (Ice Cream Sandwich) и более ранних версий вернитесь к gmake 3.82 , чтобы избежать ошибок сборки.

Xcode и другие пакеты

Для Mac OS X версии 10.8 или ниже установите Xcode с сайта разработчика Apple . Если вы еще не зарегистрированы как разработчик Apple, вам необходимо создать Apple ID для загрузки.

Если вы используете Mac OS X v10.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 (Ice Cream Sandwich) и более ранних версиях в 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
    

ЯДК

  • Android 2.3.x (Gingerbread) — Android 4.4.x (KitKat):

  • Android 1.5 (Cupcake) — Android 2.2.x (Froyo):

JDK для Linux

Проект Android с открытым исходным кодом (AOSP) поставляется с готовыми версиями OpenJDK в разделе prebuilts/jdk/ , поэтому дополнительная установка не требуется.

Более ранние версии Android требуют отдельной установки JDK. В Ubuntu используйте OpenJD

Для Ubuntu 15.04 и выше

Запустите следующее:

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

Для Ubuntu ЛТС 14.04

Для Ubuntu 14.04 нет доступных поддерживаемых пакетов OpenJDK 8. Пакеты OpenJDK 8 для Ubuntu 15.04 успешно использовались с 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, указанной для каждого пакета выше. Например, с помощью инструмента 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