“您的 Android 应用程序包有超过 1 个证书链。”

问题描述 投票:0回答:3

我使用 flutter 构建了我的应用程序包,然后按照建议使用 jarsigner 对其进行了签名。

jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore keystore.jks -storepass *** -keypass *** signed.aab *keyalias*

但是,当我将应用程序包上传到 Google Play 商店时,出现此错误

您的 Android App Bundle 具有超过 1 个证书链。确保您的 App Bundle 只有 1 个证书链,然后重试。

android flutter google-play android-app-bundle
3个回答
1
投票

您必须在 Flutter 中默认配置签名。如果是这样,再次应用 jarsigner 将进行第二次签名。

如果您想使用

jarsigner
进行签名,请考虑从 Gradle 配置中删除 signing block 或在运行
*.RSA
之前手动删除
*.DSA
目录下的
*.MF
META-INF
jarsigner
文件命令。

也许更好的方法是直接在 Gradle 配置中正确设置签名配置,这样你就根本不需要运行

jarsigner


1
投票

我使用 jarsigner 使用错误的别名签署了我的应用程序,然后使用正确的别名对其进行了签名,从而导致此错误。重建你的 apk 或 aab 然后退出。


0
投票

请检查您的

build.gradle.kts
- 可能有多个
signingConfig
块或定义了签名配置的多个位置。

这个代码块就是一个例子,它指定了一个

signingConfigs{}
块,但也初始化了另一个
debug
signingConfig - 请参阅下面关于 buildTypes 块的注释行。

//signing config block
signingConfigs {

       create("release") {

            .....

            storeFile = file("keystore/your_keystore.jks")
            storePassword = System.getenv("SIGNING_STORE_PASSWORD")
            keyAlias = System.getenv("SIGNING_KEY_ALIAS")
            keyPassword = System.getenv("SIGNING_KEY_PASSWORD")


        }
    }
 
buildTypes {

        release {

            isMinifyEnabled = false
            proguardFiles(
                    getDefaultProguardFile("proguard-android-optimize.txt"),
                    "proguard-rules.pro"
            )
            //signingConfig = signingConfigs.getByName("debug")


        }

    }
© www.soinside.com 2019 - 2024. All rights reserved.