У меня простой андроид проект .Эта команда компилирует ресурсы и создает apk без dex:
aapt2 compile project/res/values/strings.xml project/res/layout/activity_main.xml -o project/compiled_res
aapt2 link -o project/apk/unsigned_app.apk -I sdk/platforms/android-28/android.jar --manifest project/src/AndroidManifest.xml -R project/compiled_res/*.flat --java project/src --auto-add-overlay
Цитата из документации :
Однако созданный APK не содержит байт-код DEX и являетсяunsigned
...
Вы можете использовать другие инструменты командной строки, такие как d8, для компиляции байт-кода Java в байт-код DEX и apksigner для подписи вашего APK.
Ok.Я могу:
d8 project/compiled_classes/com/illuzor/buildtest/*.class --output project/dex
Но как упаковать этот dex в apk?aapt2 не может распознать classes.dex:
![enter image description here](https://i.stack.imgur.com/KAIUS.png)
Я могу просто добавить classes.dex в мой apk, выполнив zip:
zip -uj project/apk/unsigned_app.apk project/dex/classes.dex
И работает после выравнивания и подписи.Но должен быть другой путь, более правильный.