[英]How to build runnable apk with aapt2?
我有一個簡單的android 項目 。 這個命令編譯資源並構建沒有dex的apk:
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字節碼,並且未簽名
...
您可以使用其他命令行工具,例如d8,將Java字節碼編譯為DEX字節碼,然后使用apksigner簽名APK。
好。 我可以:
d8 project/compiled_classes/com/illuzor/buildtest/*.class --output project/dex
但是如何將這種dex打包為apk? aapt2無法識別classes.dex:
我可以通過壓縮將classes.dex添加到我的apk中:
zip -uj project/apk/unsigned_app.apk project/dex/classes.dex
對齊並簽名后即可使用。 但是必須是另一種方式,更合適。
我也在尋找合適的方法。 但是即使到了2019年,我也沒有運氣,我到處搜尋了好幾天。
我猜aapt add
可以完成工作,但是您的zip
解決方案還不錯。
希望aapt
不會很快被棄用,否則aapt2
應該在此之前得到增強。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.