簡體   English   中英

如何使用aapt2構建可運行的apk?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM