Как скомпилировать / собрать 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 поддерживаются.

Другие вопросы по тегам