Flutter打包发布android项目配置

一、首次打包需要创建Key

1.1 在命令行输入:flutter doctor -v 找到Java binary 存放的路径


image.png

1.2 在当前D:\Development\ard\jre\bin文件夹下使用cmd命令行工具输入

keytool -genkey -v -keystore D:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

//-keystore 表示生成的签名文件的名称, 后期发布项目的是会用到该文件
//-alias 后续项目发布的时候也会用到, 可以根据自己的需要进行自定制库别名

1.3当运行命令的时候, 需要输入相关口令的密码和一些奇奇怪怪的消息比如个人信息直接回车就可以了,然后中间会问你是否确认,输入y就可以了不出意外在D盘的根目录下就会创建一个key.jks文件了, 请一定保存好密码, 后期会用到
******注意: 保持key.jks 文件的私密性, 不要将其加入到公共代码控制中, 注意在 .gitignore 中添加忽略文件
如图


Flutter打包发布android项目配置_第1张图片
配置key.png

二、进行一些相关的配置

2.1在你开发的项目下的android目录下创建一个key.properties文件 输入以下代码,保存一下

storePassword= 刚刚创建密钥库时的密码
keyPassword=  刚刚创建密钥的密码
keyAlias=key                 //库的别名
storeFile=D:/key.jks          //key.jks文件路径

2.2打开flutter的/android/app/build.gradle文件,在android前加入

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
Flutter打包发布android项目配置_第2张图片
g1.png

把buildTypes这个对象替换成

signingConfigs {
    release {
       keyAlias "创建的密钥库别名,如果不知道可以把D:/key.js文件粘贴到(上图1.1文件里面)打开命令行工具输入keytool -list -v -keystore key.jks -storepass 密钥的密码查看库名"
        keyPassword "密钥的密码"
        storeFile file(“密钥所在文件夹,如果是按照我上面的步骤的话是D:/key.jks”)
        storePassword "密钥库的密码"
    }
}
buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}

如图


Flutter打包发布android项目配置_第3张图片
修改文件路径.png

查看密钥库别名:


Flutter打包发布android项目配置_第4张图片
查看密钥别名.png

2.3配置打包app的网络请求
在这个文件里,android\app\src\profile\AndroidManifest.xml.manifest 在当前目录文件添加





//*****在application和manifest结束标签之前添加

如图


Flutter打包发布android项目配置_第5张图片
网络配置.png

启用混淆配置

默认情况下,Flutter不会混淆和压缩Android原生代码,当项目使用的第三方依赖库需要添加混淆配置时,需要添加Flutter相关类的禁止混淆策略。

三、 配置混淆文件

在android/app下创建proguard-rules.pro文件,并添加以下规则:

## Flutter相关类
-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.** {*;}

上面这些配置会保护Flutter引擎类库不会混淆。

四 启动混淆和压缩

编辑/android/app/build.gradle文件,在release编译类型下添加混淆和压缩配置。


Flutter打包发布android项目配置_第6张图片
混淆.png

添加完了这个项目之后Android应用打包

使用命令行:
cd ( 为您的工程根目录).
运行flutter build apk (flutter build默认会包含--release选项).
打包好的发布APK位于build/app/outputs/apk/app-release.apk


Flutter打包发布android项目配置_第7张图片
打包成功.png

你可能感兴趣的:(Flutter打包发布android项目配置)