Flutter google play说应用已在调试模式下签名

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

我正在尝试在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
    }
}

而且我构建它没有问题。

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

android flutter google-play release
1个回答
0
投票
已解决。原因是我之前使用过flutter run --release命令。因此gradle已缓存了调试密钥库,并实际使用它来签署发行apk。

解决方案很简单

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

cd android

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

./gradlew clean

要特别注意./,即使gradlew确实位于“ android”目录中,如果您仅键入gradlew clean也不起作用。>

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

flutter build apk --split-per-abi

并且您将获得正确签名的发行版APK,将被

Google Play

接受。
© www.soinside.com 2019 - 2024. All rights reserved.