我正在尝试在 google play 上发布 Flutter 应用程序。
我按照本指南创建了 keystore 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
甚至他们的名字也清楚地表明它们都是发布文件。
然后我尝试将它们中的任何一个上传到谷歌播放,我总是收到以下错误消息:
Download failed
The downloaded APK file or Android App Bundle was signed in debug mode. Sign the file or set in release mode. Learn more about signatures.
我的 gradle.build 文件包含以下内容:
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
当我构建它时没有问题。
我在这里想念什么?
我完全坚持这一点
最佳答案
解决了这个问题。原因是我之前使用过 flutter run --release 命令。所以 gradle 缓存了调试 keystore 并实际使用它来签署发布 apk。
解决方法很简单
在项目目录中打开一个新终端并键入:
cd android
当您在项目的 android 目录中时,键入此命令
./gradlew clean
特别注意 ./如果你只是输入 gradlew clean 它将不起作用,即使 gradlew 确实在“android”目录中
清理 gradle 缓存后,只需再次运行 build 命令
flutter build apk --split-per-abi
您将获得正确签名的发布 apk,这些 apk 将被 Google Play 接受
关于android - Flutter google play 说应用程序已在 Debug模式下登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58979573/