PackageParserException:包 ...base.apk 在条目 AndroidManifest.xml 处没有证书
PackageParserException: Package ...base.apk has no certificates at entry AndroidManifest.xml
我 运行 我的应用处于调试模式,没问题。但是当我签名并尝试安装apk时,这个错误发生在Logcat,phone显示"App is not installed"。
对于 <7.0 android 的每个 phone 都是一样的,所以我认为问题出在应用程序签名中,但我已经尝试 V1、V2、只有 V1 - 好像 android 工作室甚至没有意识到我改变了一些东西。
试图用这个完全禁用 V2,但没有成功。
signingConfigs{
release {
storeFile file("keystore.jks")
storePassword 'password'
keyAlias 'alias'
keyPassword 'password'
v2SigningEnabled false
}
}
我还能做什么?
C:\Program Files\Android\Android Studio\jre\jre\bin>java -version
openjdk version "1.8.0_152-release"
OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
OpenJDK 64-Bit Server VM (build 25.152-b01, mixed mode)
今天我将 Android Studio 更新到 3.3 并遇到了同样的问题。
我在删除 Build 文件夹后修复了它,清理项目,使 Caches/Restart 失效。
之后,我可以通过 Build -> Generate Signed Bundle/APK 生成签名的应用程序,只有 V1 签名。
使用 signingConfigs release 构建签名的应用程序仍然不起作用。
你可以试试我的解决方案。
好的,我通过执行这些操作解决了它,但我不确定实际修复它的原因。无论如何:
将所有代码复制到另一个项目中(奇怪?)
创建另一个密钥库
删除所有需要 newest java features 的函数,因此是最新的 Android
之后,只选择v1 jar签名
生成签名 apk 的步骤:
- 构建发布未签名的 apk。
使用命令提示符压缩未签名的 APK。
zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
通过命令提示符使用应用签名者使用 Sonim 私钥对 APK 进行签名。
apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
在设备中安装 apk。
我 运行 我的应用处于调试模式,没问题。但是当我签名并尝试安装apk时,这个错误发生在Logcat,phone显示"App is not installed"。
对于 <7.0 android 的每个 phone 都是一样的,所以我认为问题出在应用程序签名中,但我已经尝试 V1、V2、只有 V1 - 好像 android 工作室甚至没有意识到我改变了一些东西。
试图用这个完全禁用 V2,但没有成功。
signingConfigs{
release {
storeFile file("keystore.jks")
storePassword 'password'
keyAlias 'alias'
keyPassword 'password'
v2SigningEnabled false
}
}
我还能做什么?
C:\Program Files\Android\Android Studio\jre\jre\bin>java -version
openjdk version "1.8.0_152-release"
OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
OpenJDK 64-Bit Server VM (build 25.152-b01, mixed mode)
今天我将 Android Studio 更新到 3.3 并遇到了同样的问题。
我在删除 Build 文件夹后修复了它,清理项目,使 Caches/Restart 失效。 之后,我可以通过 Build -> Generate Signed Bundle/APK 生成签名的应用程序,只有 V1 签名。
使用 signingConfigs release 构建签名的应用程序仍然不起作用。
你可以试试我的解决方案。
好的,我通过执行这些操作解决了它,但我不确定实际修复它的原因。无论如何:
将所有代码复制到另一个项目中(奇怪?)
创建另一个密钥库
删除所有需要 newest java features 的函数,因此是最新的 Android
之后,只选择v1 jar签名
生成签名 apk 的步骤:
- 构建发布未签名的 apk。
使用命令提示符压缩未签名的 APK。
zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
通过命令提示符使用应用签名者使用 Sonim 私钥对 APK 进行签名。
apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
在设备中安装 apk。