Android Studio打包发布Flutter安卓应用

打包发布安卓应用主要有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节点上面添加下面内容:

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

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

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

替换为:

signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
    }
}
buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}

效果如下:
替换

开启混淆

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

#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.**  { *; }
-keep class io.flutter.util.**  { *; }
-keep class io.flutter.view.**  { *; }
-keep class io.flutter.**  { *; }
-keep class io.flutter.plugins.**  { *; }

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

minifyEnabled true
useProguard true
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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值