Android AOSP:无法打包预签名的apk

Android AOSP:无法打包预签名的apk,android,android-source,android-signing,Android,Android Source,Android Signing,我在Android Studio中构建我的项目并生成签名的apk,然后将我的apk放入Android开源项目中,用系统映像打包我的应用程序。 我随后用系统映像打包了我的应用程序。 我的问题是Android.mk中的这一行: LOCAL_CERTIFICATE := < desired key > 一切顺利,构建成功 但是如果我签署我的apk并使用 LOCAL_CERTIFICATE := platform LOCAL_CERTIFICATE := PRESIGNED 我的生成失

我在Android Studio中构建我的项目并生成签名的apk,然后将我的apk放入Android开源项目中,用系统映像打包我的应用程序。
我随后用系统映像打包了我的应用程序。
我的问题是Android.mk中的这一行:

LOCAL_CERTIFICATE := < desired key >
一切顺利,构建成功
但是如果我签署我的apk并使用

LOCAL_CERTIFICATE := platform
LOCAL_CERTIFICATE := PRESIGNED
我的生成失败,错误为1:

make: *** [out/target/product/helpera64-v2/obj/APPS/MyApp_intermediates/package.apk] Error 1
对于verbos日志,我使用
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!生成系统不应该对已签名的apk使用zipalign,但为什么使用它?

我的完整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-p4 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]错误1

从错误日志中,执行的
zipalign
命令失败,因此潜在的失败原因是您的apk使用了错误的
align
。也许您可以按照文档进行操作,以确保您的apk使用正确的
align

PS:我遇到了类似的问题,因为预先签署的apk文件有错误的
align
so文件