今天研究aapt打包資源,在aapt源碼里加了些log,但aapt一直打包失敗,
錯誤的打包命令:
aapt p -f -S ./res -M ./AndroidManifest.xml -I /home/lishicheng/source/project/out/target/product/project/system/framework/framework-res.apk -F ./DeskClock.apk
錯誤提示:
No resource found that matches the given name 'Theme.AppCompat.Light.NoActionBar'
原因Theme.AppCompat.Light.NoActionBar是v7兼容包的資源,需要把v7兼容包下的res添加進路徑,一起參與打包。
正確的命令:
aapt p -f -S ./res -S /home/lishicheng/source/project/frameworks/support/v7/appcompat/res -S /home/lishicheng/source/project/frameworks/support/v7/gridlayout/res -S /home/lishicheng/source/project/frameworks/opt/datetimepicker/res -M ./AndroidManifest.xml --extra-packages android.support.v7.appcompat:android.support.v7.gridlayout:com.android.datetimepicker --auto-add-overlay -F ./DeskClock.apk -I /home/lishicheng/source/project/out/target/product/project/system/framework/framework-res.apk