Создание Android APK вручную, внешние файлы ресурсов Jar - PullRequest
0 голосов
/ 14 мая 2019

Я строю apk вручную с помощью aapt, dx и т. Д.

У меня есть несколько внешних jar-файлов, я использую LibGDX, gdx включает некоторые файлы ресурсов в свой classpath (в самом файле jar), когда я компилирую код, dx обрабатывает только файлы .class и сбрасывает ресурсы (например, GDX имеет шрифт по умолчанию в com / badlogic / gdx / utils / arial-15.png в файле jar) Мне интересно, как я могу также объединить эти файлы ресурсов, я извлек apk другой игры, созданной с помощью gdx и Похоже, что эти файлы находятся в корне apk, как apkroot / com / badlogic / gdx / .. как это происходит в IDE, нужно ли мне вручную извлекать файлы jar и получать ресурсы?

1 Ответ

0 голосов
/ 19 мая 2019

Прошло много времени, и никто не ответил мне, до тех пор, пока я продолжал экспериментировать с различными вещами, и я наконец нашел способ, который не извлекается вручную, поэтому в основном в моем процессе сборки вместо того, чтобы позволить aapt создать исходный файл apk. сделайте это с помощью dx, т.е.

dx --dex --verbose --num-threads=4 --output=file.apk obj libs/dex

obj - это папка, содержащая скомпилированные файлы .class из моего кода, libs / включает в себя внешние jar-файлы, libs / dex содержит кешированные jar-файлы li /, которые ранее уже были закодированы для более быстрых сборок, позволяя dx создать исходный apk, который он может также объедините ресурсы в apk, теперь apk имеет ресурсы, как и ожидалось, затем мы используем aapt после dx (на самом деле мы используем его один раз перед dx для генерации R.java, чтобы очистить, но НЕ создавайте apk с aapt) с aapt we используйте команду package как всегда, но включите флаг -u, чтобы он изменил apk и не переписывал его, теперь мы можем упаковать обычные ресурсы ресурсов android, а также ресурсы внешнего jar-файла в конечный apk. чтобы быть понятным, это не было полным руководством по созданию apk вручную, вы, как ожидается, уже знаете aapt / dx toolchain, я просто объясняю обходной путь с toolchain, который решает мою проблему.

...