Flutter Google Play表示应用程序已在调试模式下签名

时间:2019-11-21 16:32:38

标签: android flutter google-play release

我正在尝试在Google Play上发布Flutter应用。 我已按照https://flutter.dev/docs/deployment/android#signing-the-app

指南创建了密钥库

现在我正在尝试使用此命令构建发布应用程序

flutter build apk --release --split-per-abi 

(我什至添加了--release标志以使其明确) 然后,我得到2个apk文件:

app-arm64-v8a-release.apk

app-armeabi-v7a-release.apk

即使他们的名字清楚地表明他们都是发行文件。 然后,我尝试将其中的任何一个上传到Google Play,但我总是收到此错误消息:

  

下载失败

     

已下载的APK文件或Android App Bundle已在调试中签名   模式。签名文件或设置为释放模式。学习更多关于   签名。

我的gradle.build文件包含以下内容:

signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
    }
}
buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}

构建它没有问题。

我在这里想念什么? 我完全被困住了

1 个答案:

答案 0 :(得分:0)

解决了这个问题。原因是我之前使用过flutter run --release命令。因此gradle已缓存了调试密钥库,并实际使用它来签署发行apk。

解决方案很简单

在项目目录中打开一个新终端,然后键入:

cd android

当您在项目的android目录中时,键入以下命令

./gradlew clean

要特别注意./如果您只键入gradlew clean,即使gradlew确实位于“ android”目录中,它也无法工作

清理gradle缓存后,只需再次运行build命令

flutter build apk --split-per-abi

您将获得正确签名的发行版apk,这些发行版将被 Google Play

接受