PackageParserException:包... base.apk在条目AndroidManifest.xml中没有证书

时间:2019-01-17 14:31:09

标签: android exception gradle android-gradle signing

我在调试模式下运行我的应用程序,没关系。但是当我签名并尝试安装apk时,该错误发生在Logcat中,并且手机显示“未安装应用程序”。

在装有<7.0 android的每部手机上都是一样的,所以我认为问题出在应用程序签名上,但是我尝试了 V1,V2和仅V1 -似乎android studio没有甚至都不知道我改变了什么。

试图完全禁用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)    

3 个答案:

答案 0 :(得分:2)

今天,我已将Android Studio更新到3.3,并遇到了相同的问题。

我在删除Build文件夹,清理项目使缓存无效/重新启动后修复了该问题。 之后,我可以通过仅具有V1签名的 Build-> Generate Signed Bundle / APK 生成签名的应用程序。

使用 signingConfigs版本构建已签名的应用程序仍然无法正常工作。

您可以尝试我的解决方案。

答案 1 :(得分:0)

好吧,我通过执行这些操作来解决了该问题,但是我不确定是什么真正解决了该问题。无论如何:

  1. 将所有代码复制到另一个项目中(很奇怪?)

  2. 创建另一个密钥库

  3. 删除所有需要newest java features的功能,因此需要最新的Android

  4. 之后,仅选择v1 jar签名

答案 2 :(得分:0)

生成签名APK的步骤:

  1. 构建版本未签名的APK。
  2. 使用命令提示符压缩未签名的APK。

    zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
    
  3. 通过命令提示符使用应用签名者使用Sonim私钥对APK进行签名。

    apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
    
  4. 在设备中安装apk。