Как собрать AOSP для получения файла jar? - PullRequest
0 голосов
/ 06 июня 2019

Я новичок в платформе Android.Мне нужно разработать системное приложение, поэтому мне нужно получить доступ к некоторым @SytemApi аннотированным и некоторым внутренним классам в моем системном приложении Android.

После просмотра в течение некоторого времени я обнаружил, что пишу такое приложение, мне нужно иметь AOSP на моем локальном диске, изменить исходный код и затем скомпилировать, чтобы получить файл jar для замены в / sdk / platform / android- (xyz) /android.jar.

Может кто-нибудь сказать мне, как мне этого добиться?Я скачал исходный код android 9 с здесь , а затем попытался скомпилировать Android.mk со сборкой NDK и не смог его достичь.

Или, пожалуйста, посоветуйте мне лучший способ достижениянаписать системное приложение.

1 Ответ

1 голос
/ 06 июня 2019

Если вы используете систему на основе Unix (поскольку сборка под Windows не поддерживается ), перейдите в каталог bsp/android и выполните следующие команды:

Необходимое условие: Вы должны использовать JDK на основе OpenJDK.

  1. Установите переменные окружения для вашей терминальной сессии:
    $ . build/envsetup.sh
  1. Выберите архитектуру устройства, против которой вы хотите создать:
    $ lunch
  1. Очистить и построить
    $ make clean
    $ make -j16

ПРИМЕЧАНИЕ: Аргумент для -j должен быть в два раза больше количества ядер вашего процессора.

  1. Иди, возьми кофе. Это займет очень много времени для сборки. Для справки: на специально выделенных серверах сборки моего рабочего места требуется более часа, а на ноутбуке среднего уровня - 2,5 часа или более.

После сборки ваши выходы AOSP будут находиться в каталоге out, но вы можете изменить это, установив переменную окружения OUT_DIR в вашем терминальном сеансе. Все системные APK должны находиться в папках /system/app и /system/priv-app в каталоге out.

...