flutter编译安卓/ios命令

发布时间 2023-09-29 17:16:55作者: 狐狸已化妖

一、flutter打包编译命令

1、编译安卓 apk

flutter build apk --debug --flavor beta --build-number=123 --build-name=1.2.3 
 --target-platform android-arm --split-per-abi --dart-define=APP_CHANNEL=vivo --dart-define=APP_NAME=TestApp

 

2、编译安卓 AppBundle

 

3、编译IOS ipa

 

二、flutter打包编译命令配合jenkins使用

 

三、编译问题处理

1、处理build apk时安卓应用版本versionCode自动加1000问题

1、编译的结果

编译命令为:flutter build apk --debug --flavor beta --build-number=1 --build-name=0.1.0

编译出来的结果为:

 发现versionCode加了1000。

2、原因分析

经过分析flutter编译脚本 android/app/build.gradle,发现引入了下面的代码

apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle

编译任务对versionCode做了处理,

google官方解释:https://developer.android.com/studio/build/configure-apk-splits?hl=zh-cn

其他参考文档:https://zhuanlan.zhihu.com/p/393037208?utm_id=0

 

3、编处理方案

在android/app/build.gradle文件中,android 层级下,添加如下内容

 

android {
...
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.versionCodeOverride = variant.versionCode
            println "> versionCode: ${versionCode},flutterVersionCode: ${flutterVersionCode},versionCodeOverride:${output.versionCodeOverride}"
        }
    }
...
}