我正在尝试使用此蓝图将一些预构建的应用程序添加到我构建的 AOSP 中:
android_app_import {
name: "App",
apk: "App.apk",
presigned: true,
dex_preopt: {
enabled: false,
},
privileged: true,
product_specific: true,
}
...
其中两个工作正常,但其他的则不然 — APK 在构建过程中发生了更改。
它们的 md5 不同,看起来签名被删除了,因为如果我从设备中提取 APK 并尝试使用
adb install
安装它,它会说 INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl476333160.tmp/base.apk: META-INF/APP.SF indicates /data/app/vmdl476333160.tmp/base.apk is signed using APK Signature Scheme v2, but no such signature was found. Signature stripped?
UPD。发现有人面临完全相同的问题。
UPD 2。相同,但在这种情况下,解决方案不使用
soong
,我需要很快。
如何解决?
尝试添加“preprocessed:true”
android_app_import {
name: "App",
apk: "App.apk",
presigned: true,
dex_preopt: {
enabled: false,
},
privileged: true,
product_specific: true,
preprocessed: true,
}
在 android.bp 文件中使用 DONT_UNCOMPRESS_PRIV_APPS_DEXS := true 。这将在构建期间停止解压 priv-app。