Android Studio打包发布Flutter安卓应用

古城微笑少年丶 2023-07-03 04:45 3阅读 0赞

打包发布安卓应用主要有5步,

修改android/app/src/main/AndroidManifest.xml

首先通过安卓模式打开项目
以安卓模式打开项目
然后等待项目加载完成,出现下面情况为加载完成:
加载成功
如果出现异常可以参考这篇文章:启动 flutter项目时报Could not find com.android.tools.build:gradle:3.2.1.
然后修改APP对应的名字,也就是在手机桌面显示的应用名
桌面文字
图标自定义我们可以修改mipmap下面的图标文件(建议右键show in explorer在文件夹中打开,然后再进行修改)
APP图标修改

修改和配置build.gradle文件

打开appbuild.gradle修改兼容的安卓版本
修改兼容的安卓版本

compileSdkVersion:表示编译时的安卓版本
targetSdkVersion:表示目标安卓版本
minSdkVersion:表示最低兼容的安卓版本

如果要查看安卓版本对应的数字的话,可以点击SDK Manager进行查看:
查看安卓版本
其他字段含义:
其他字段

签名APP

创建证书:

点击Build-->Generate Signed Bundle/APK
点击build
选择APK点击下一步:
步骤2
点击创建一个新的证书:
创建新证书
输入信息即可创建证书:
创建证书
点击OK之后可能会出现报错,此处忽略即可:
忽略报错
然后点击取消,即可看到我们创建的证书:
创建好的证书
新建一个/android/key.properties文件,配置如下内容:
配置文件

配置build.gradle

打开build.gradle文件,在android节点上面添加下面内容:

  1. def keystorePropertiesFile = rootProject.file("key.properties")
  2. def keystoreProperties = new Properties()
  3. keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

如下:
修改build.gradle
将下面内容

  1. buildTypes {
  2. release {
  3. // TODO: Add your own signing config for the release build.
  4. // Signing with the debug keys for now, so `flutter run --release` works.
  5. signingConfig signingConfigs.debug
  6. }
  7. }

替换为:

  1. signingConfigs {
  2. release {
  3. keyAlias keystoreProperties['keyAlias']
  4. keyPassword keystoreProperties['keyPassword']
  5. storeFile file(keystoreProperties['storeFile'])
  6. storePassword keystoreProperties['storePassword']
  7. }
  8. }
  9. buildTypes {
  10. release {
  11. signingConfig signingConfigs.release
  12. }
  13. }

效果如下:
替换

开启混淆

新建/android/app/proguard-rules.pro文件
添加以下规则:

  1. #Flutter Wrapper
  2. -keep class io.flutter.app.** { *; }
  3. -keep class io.flutter.plugin.** { *; }
  4. -keep class io.flutter.util.** { *; }
  5. -keep class io.flutter.view.** { *; }
  6. -keep class io.flutter.** { *; }
  7. -keep class io.flutter.plugins.** { *; }

文件路径
build.gradle文件的release节点下添加:

  1. minifyEnabled true
  2. useProguard true
  3. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

用来启动混淆配置,minifyEnabled表示是否压缩
启动混淆配置

构建一个发布版(release)APK

切换到flutter项目的根目录,执行flutter build apk即可打包成功。

常见问题及解决方法

解决问题 Cause: buildOutput.apkData must not be null
VScode+Flutter 开发继续踩坑
Flutter打包release版本安卓apk包真机安装无法请求网络的解决方法

Flutter中文网:https://flutterchina.club/android-release/

发表评论

表情:
评论列表 (有 0 条评论,3人围观)

还没有评论,来说两句吧...

相关阅读