簡體   English   中英

AOSP:無法打包預簽名的 apk

[英]AOSP: Cannot pack presigned apk

我在 Android Studio 中構建我的項目並生成簽名的 apk,然后將我的 apk 放入 Android 開源項目中以將我的應用程序與系統映像打包。
我按照這些步驟將我的應用程序與系統映像打包在一起。
我的問題是Android.mk中的這一行:

LOCAL_CERTIFICATE := < desired key >

如果我不簽署 apk 並使用

LOCAL_CERTIFICATE := platform

一切順利,構建成功
但是如果我簽署我的 apk 並使用

LOCAL_CERTIFICATE := PRESIGNED

我的構建失敗並出現錯誤 1:

make: *** [out/target/product/helpera64-v2/obj/APPS/MyApp_intermediates/package.apk] Error 1

對於詳細日志,我使用make showcommands創建項目,這是發生錯誤的地方:

mv out/target/product/helpera64-v2/obj/APPS/MyApp_intermediates/package.apk out/target/product/helpera64-v2/obj/APPS/MyApp_intermediates/package.apk.unaligned
out/host/linux-x86/bin/zipalign -f -p 4 out/target/product/helpera64-v2/obj/APPS/MyApp_intermediates/package.apk.unaligned out/target/product/helpera64-v2/obj/APPS/MyApp_intermediates/package.apk.aligned
make: *** [out/target/product/helpera64-v2/obj/APPS/MyApp_intermediates/package.apk] Error 1

所以問題是 zipalign,構建系統不應該使用 zipalign 來簽名 apk? 但它為什么要使用?

我的完整 Android.mk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := MyApp
LOCAL_MODULE_TAGS := optional
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_DEX_PREOPT := false
LOCAL_MODULE_PATH := $(TARGET_OUT)/preinstall
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_SRC_FILES := my_app.apk
LOCAL_PRIVILEGED_MODULE = true
LOCAL_OVERRIDES_PACKAGES := Home Launcher2 Launcher3


include $(BUILD_PREBUILT)

mv out/target/product/helpera64-v2/obj/APPS/MyApp_intermediates/package.apk out/target/product/helpera64-v2/obj/APPS/MyApp_intermediates/package.apk.unaligned

out/host/linux-x86/bin/zipalign -f -p 4 out/target/product/helpera64-v2/obj/APPS/MyApp_intermediates/package.apk.unaligned out/target/product/helpera64-v2/obj/APPS /MyApp_intermediates/package.apk.aligned

制作:*** [out/target/product/helpera64-v2/obj/APPS/MyApp_intermediates/package.apk] 錯誤 1

從錯誤日志中,執行的zipalign命令失敗,所以潛在的失敗原因是您的 apk 使用了錯誤的align 也許您可以按照Android 的 zipalign文檔來確保您的 apk 具有正確的align

PS:我也遇到過類似的問題,因為預簽名的 apk align so 文件有誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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