当前位置: 首页 > article >正文

flutter 发版的时候设置版本号

在 android/app/build.gradle 中设置版本号和版本昵称

接下来,需要在 Android 的 build.gradle 文件中配置 versionCode 和 versionName,这个配置通常在 defaultConfig 部分:

android {
    ...
    defaultConfig {
        applicationId "com.example.myapp"
        minSdkVersion 21
        targetSdkVersion 34
        versionCode 1  // 这里是 Android 的版本代码,必须是整数
        versionName "1.0.0"  // 这是 Android 的版本名称,通常是你发布给用户的版本号
        ...
    }
}

versionCode 和 versionName 的意义:

versionCode: 这个值在 Android 中用于区分不同版本的 APK。它应该是一个递增的整数,每次提交到 Google Play 时,versionCode 必须比之前的版本号大。
versionName: 这是用户可见的版本号,通常是 1.0.0、2.1.0 等格式。它不需要递增(不过大多数项目会递增),且它是展示给用户的版本信息。

自动化版本号(通过 git 获取)

如果你想自动化版本号和版本昵称(如 getAppVersionCode() 和 getAppVersionName() ),你可以通过 git 命令来动态获取 Git 提交的数量或者标签。

在 android/app/build.gradle 文件中,你可以利用 Groovy 脚本来获取 Git 版本号:

def getAppVersionCode() {
    try {
        def stdout = new ByteArrayOutputStream()
        exec {
            commandLine 'git', 'rev-list', '--first-parent', '--count', 'HEAD'
            standardOutput = stdout
        }
        return Integer.parseInt(stdout.toString().trim()) + 100
    } catch (ignored) {
        println "===================error code!"
        return 100
    }
}

def getAppVersionName() {
    try {
        def stdout = new ByteArrayOutputStream()
        exec {
            commandLine 'git', 'describe', '--tags'
            standardOutput = stdout
        }
        return stdout.toString().trim()
    } catch (ignored) {
        println "===================error name!"
        return "1.0.0"
    }
}

android {
    defaultConfig {
        versionCode getAppVersionCode()
        versionName getAppVersionName()
    }
}

在上述示例中:

getAppVersionCode() 通过 git rev-list --count HEAD 获取提交的数量并加 100,生成版本代码。
getAppVersionName() 通过 git describe --tags 获取最近的 Git 标签作为版本名称。

5. 使用 Flutter 命令行发布

当你准备好版本号和版本昵称时,可以使用以下命令进行打包和发布:
打包 APK:

flutter build apk --release

打包 AppBundle(推荐方式,尤其是当你需要通过 Google Play 进行发布时):

flutter build appbundle --release

总结
pubspec.yaml:设置 version: 1.0.0+1,versionName 和 versionCode。
build.gradle:在 defaultConfig 中设置 versionName 和 versionCode。
自动化获取:通过 git 脚本动态获取版本号和版本昵称。
通过这两个文件的配置,你就可以顺利地修改版本号和版本昵称,并准备发布 Flutter 应用。


http://www.kler.cn/a/389155.html

相关文章:

  • 【数据结构与算法】第11课—数据结构之选择排序和交换排序
  • 普通电脑上安装属于自己的Llama 3 大模型和对话客户端
  • 【VBA实战】用Excel制作排序算法动画续
  • 040 线程池
  • hadoop大数据平台
  • C#程序开发,检测当前电脑已经安装的软件目录
  • Linux -- 进程初印象
  • iOS 18.2 六大新功能外媒實測|ChatGPT進化版SIRI、自製Genmoji
  • 紫光展锐携手上赞随身Wi-Fi,让5G触手可及
  • 4.1 WINDOWS XP,ReactOS对象与对象目录----1
  • Vue3-06_路由
  • Java 上机实践2(基础数据类型与数组)
  • 【网络安全 | 漏洞挖掘】商品逻辑漏洞之生成商品折扣码
  • 鸿蒙开发:切换至基于rcp的网络请求
  • Linux开发讲课48--- Linux 文件系统概览
  • 封装一个web Worker 处理方法实现多线程
  • [python3] tornado 使用swagger编写接口文档
  • FastHtml llmctx介绍
  • Spring Boot与工程认证:计算机课程管理的新范式
  • 塔吉克斯坦媒体发稿:伊斯梅尔快讯的海外影响力-大舍传媒
  • javascript实现国密sm4算法(支持微信小程序)
  • SVN 提交操作
  • Flutter 正在切换成 Monorepo 和支持 workspaces
  • Jasypt 实现 yml 配置加密
  • GPU集群上分布式训练大模型
  • Allure入门介绍