由于官网被墙,打包资料只能根据以往大神提供的经验摸索打包,但是在实际打包中还是会遇到各种各样的错。
下面介绍一下我成功打包的经验,像是配置查看构建配置和添加启动图标之类的就不说了,只讲打包。
1.创建Key
确认已安装java和flutter。我的java安装在D:Program Filesjavajrebin,首先进入到这个文件夹内,否则你创建key时,会提示'keytool' 不是内部或外部命令,也不是可运行的程序或批处理文件。如果已有key,跳过此步骤,没有的,执行下面命令
keytool -genkey -v -keystore D:/key/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
- -genkey 生成秘钥
- -alias 别名
- -keyalg 秘钥算法
- -keysize 秘钥长度
- -validity 有效期
- -keystore 生成秘钥库的存储路径和名称
2.填写密钥内容
![81945fc872bcffdf94f4e2a7be383ce8.png](https://img-blog.csdnimg.cn/img_convert/81945fc872bcffdf94f4e2a7be383ce8.png)
出现下图即为创建成功
![a344142a86847184d124fbbef24099bd.png](https://img-blog.csdnimg.cn/img_convert/a344142a86847184d124fbbef24099bd.png)
查看证书
keytool -list -v -keystore D:keykey.jks -alias key -storepass 123456 -keypass 123456
![a24e278b6f1a2c6a36d62194a7c54377.png](https://img-blog.csdnimg.cn/img_convert/a24e278b6f1a2c6a36d62194a7c54377.png)
3.创建key.properties
在android目录下创建一个key.properties文件 输入以下代码,保存一下。
storePassword= 刚刚创建密钥库时的密码keyPassword= 刚刚创建密钥的密码keyAlias=keystoreFile=D:/key/key.jks
4.build.gradle文件修改
![d23e03fca01fdde7e27d6b9670a6a319.png](https://img-blog.csdnimg.cn/img_convert/d23e03fca01fdde7e27d6b9670a6a319.png)
上图三个地方需要修改
1.在android前加入
def keystorePropertiesFile = rootProject.file("key.properties")def keystoreProperties = new Properties()keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
2.android里面加入
signingConfigs { release { keyAlias "key" keyPassword "刚刚创建密钥库时的密码" storeFile file("D:/key/key.jks") storePassword "刚刚创建密钥库时的密码" } }
3.android里面修改buildTypes
buildTypes { release { signingConfig signingConfigs.release minifyEnabled true useProguard true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
这里面有个坑,signingConfigs这里面配置我按照教程写法,死活打包不成功。一直报这个错
![0f6bceb565dee424b230e020d8965960.png](https://img-blog.csdnimg.cn/img_convert/0f6bceb565dee424b230e020d8965960.png)
5.打包
flutter build apk
![b26c0efac66f559f43509d6c107aa883.png](https://img-blog.csdnimg.cn/img_convert/b26c0efac66f559f43509d6c107aa883.png)
我们的apk文件保存在Flutter文件夹的buildappoutputsapkeleaseapp-release.apk 目录下。