我想将我的 Flutter 应用程序的第二个版本上传到 Google Play 的内部测试频道(我现在只是使用 Android 版本(。
我可以上传第一个版本1.0.0+1
但是当尝试上传第二个版本时1.0.1+2
Google Play管理中心拒绝了我的应用程序包,并显示错误消息
You need to use a different version code for your APK because you already have one with version code 1
.
我已经尝试了顺序:
flutter clean
删除生成和临时文件夹。
将pubspec.yaml
上的version
行从1.0.0+1
修改为1.0.1+2
。
flutter pub get
重建颤振所需的文件。
flutter build appbundle
构建捆绑包。
由于我已经能够构建和发布应用程序的第一个版本,因此我认为构建配置的其余部分是可以的。
大多数解决方案旨在清理项目,修改pubspec.yaml
然后重建,但这似乎对我不起作用。
编辑:
尝试使用值flutterVersionName = '1.0.1'
和flutterVersionCode = '2'
修改build.gradle
文件,但我仍然收到版本代码为 1 的应用程序包。
Android 应用程序版本代码和版本名称在android/app/build.gradle
中定义。查看此文件并检查是否包含这些行
...
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
...
defaultConfig {
applicationId "net.myapp"
minSdkVersion 18
targetSdkVersion 28
versionCode flutterVersionCode.toInteger() //<-this line defines versionCode
versionName flutterVersionName
...
如果一切正常,请查看android/local.properties文件。此文件在 Flutter 构建应用程序时更新。它应该有这些行,从你的pubspec.yaml数据生成:
flutter.versionName=1.1.1
flutter.versionCode=9
如果两个文件都正常,请运行flutter build apk
以重新生成 local.properties 数据。
找到了一个足够好的解决方法,那就是不使用 Flutter sdk 而是使用 Android Studio 构建 appbundle。
为了实现这一点,请执行以下操作:
打开 Android Studio> 打开 android 项目(android
Flutter 项目中的文件夹(
然后按如下方式修改应用级别build.gradle
:
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "<YOUR_APP_ID>"
minSdkVersion 21
targetSdkVersion 28
versionCode 2 // Manually add your desired version code
versionName "1.0.1" // Manually add your desired version name
// versionCode flutterVersionCode.toInteger()
// versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
然后转到构建>生成签名捆绑包/APK...以生成捆绑包或APK,就像构建本机应用程序一样(可在此处找到生成签名应用程序捆绑包的进一步说明(
请注意,这并不能完全解决问题,因为使用 Flutter sdk 仍然无法正确生成捆绑包。
接受的答案阻止了颤振管理版本。
更改版本后,应运行flutter pub upgrade
命令。