Как скомпилировать / собрать Android AAPT на новой платформе?
Я хотел бы перекомпилировать Android AAPT для платформы Debian AMD64. У нас может быть исходный код на git, но я не понимаю, как его скомпилировать. Существует аналогичный make-файл (Android.mk), который кажется неполным и зависимым от других.
В build.git / core есть Makefile. Нужно ли мне получить весь исходный код Android, чтобы перекомпилировать только AAPT? Я бы предпочел только перекомпилировать этот инструмент, но если мне нужно собрать полный SDK, скажите мне. Любая помощь будет признательна.
Спасибо
2 ответа
Шаг 1. Получите исходный код Android, следуя инструкциям здесь: https://source.android.com/setup/build/downloading
Шаг 2: Настройка среды: source build/envsetup.sh
Это добавляет в ваш env ряд полезных команд.
Подробнее здесь: https://source.android.com/setup/build/building
Шаг 3: запустить mmm /frameworks/base/tools
Это позволит выборочно собрать все инструменты, включая aapt
а также его зависимости. Это намного быстрее, чем строить все в android.
Aapt был заменен на aapt2 после того, как был задан этот вопрос. Бинарный файл будет расположен вout/soong/host/linux-x86/bin/aapt2
при сборке на Linux. Заменитьlinux-x86
с вашей ОС.
Сделай это Томом Арном так: https://code.google.com/p/java-ide-droid/source/checkout
Исходный код aapt, сам по себе (без полного исходного кода Android), находится здесь: http://java-ide-droid.googlecode.com/svn/trunk/jni/aapt/
Его модификации к первоисточнику находятся в README.
Я скомпилировал код один раз. Как только вы закончили загрузку кода, следуйте инструкции по сборке в разделе: исходный сайт Android, который в основном запущен . build/envsetup.sh
а также
$ обед полный англ
а потом просто
$ make
который будет строить все, включая инструменты. Если я не ошибаюсь, make sdk использовался только для сборки sdk, но я не уверен, что он все еще применяется. Проблема в том, что это не amd64', это горячий вывод, который, скорее всего, все равно будет linux32, вопрос, который я задаю' Я сам знаю, как сделать кросс-сборку для других платформ, таких как win32\win64\mac\linux64, из них я точно знаю, что win32\mac поддерживаются.