我正在尝试在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
}
}
构建它没有问题。
我在这里想念什么? 我完全被困住了
答案 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
接受