打包时候怎样调高defaultConfig里面的versionCode的值,覆盖安装 版本号

来源:18-4 打包发布Flutter Android应用-2

杰神

2019-10-29

如题,Android/app目录下的build.gradle文件里defaultConfig里面读取的是

 versionCode flutterVersionCode.toInteger()
 versionName flutterVersionName

发现这个配置文件是写在Android目录下面的local.properties文件里面的,下面是我的

sdk.dir=E:\Android\Android_SDK
flutter.sdk=E:\flutter
flutter.buildMode=release
flutter.versionName=1.0.0
flutter.versionCode=1
  • 第一次运行flutter build apk正常打包,安装到手机,第二次打包的时候,把flutter.versionCode的值调为2,然后运行flutter build apk正常打包,这个时候安装到手机的时候,会安装失败,提示签名有问题,不能覆盖安装(可以安装到新手机),并且这个时候能够看到local.properties文件里面的的内容在运行打包命令之后又还原了,flutter.versionCode还是变成了1。

  • 我尝试修改defaultConfig里面的值,把读取local.properties文件改成写死的versionName为2,这个时候打包出来安装到有旧版本app的手机还是提示签名失败。

写回答

1回答

CrazyCodeBoy

2019-10-29

可以参考下面的实例修改:

    defaultConfig {
        applicationId "org.devio.fluttertrip"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 5 //版本号
        versionName "1.0.5"//版本名
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        ndk {
            abiFilters "armeabi-v7a","arm64-v8a","x86_64","x86" //只打包flutter所支持的架构,flutter没有armeabi架构的so,加x86的原因是为了能够兼容模拟器
//            abiFilters "armeabi-v7a" //release 时只打"armeabi-v7包
        }
    }

https://git.imooc.com/coding-321/flutter_trip/src/master/android/app/build.gradle#L43


0
2
杰神
老师你这种做法应该是错误的,flutter build apk的时候,会自动读取 pubspec.yaml文件里面的verison字段配置信息。直接向你这样修改会报错。也就是每次更新都要修改version: 1.0.2+6这个加号后面的值。
2019-11-15
共2条回复

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3270 问题

查看课程