首先第一步是生成签名文件,生成代码如下:
keytool -genkey -v -keystore /Users/flutter_key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias keyTest
注:/Users/flutter_key.jks为路径和文件名,执行命令后会在User目录下生成名为flutter_key.jks的签名文件,keyTest为签名文件的别名,根据自己喜好设置
由于以前就是开发Android的,所以就不重新生成了,拿以前一直用的签名文件来演示
首先将签名文件放在app/key目录下,目录结构如下图:
然后在Android目录下新建key.properties文件
文件中的内容如下
storePassword=123456
keyPassword=123456
keyAlias=zhou
storeFile=/Users/flutter_demo1/android/app/key/zhou.jks
注:123456为签名文件的密码,keyAlias为签名文件的别名,storeFile为签名的文件的绝对路径,是绝对路径不是相对路径
然后修改app目录下的build.gradle
在android 之前添加
def keyPropertiesFile=rootProject.file("key.properties")
def keyProperties=new Properties()
keyProperties.load(new FileInputStream(keyPropertiesFile))
然后修改signingConfigs
signingConfigs{
release{
keyAlias keyProperties['keyAlias']
keyPassword keyProperties['keyPassword']
storeFile file(keyProperties['storeFile'])
storePassword keyProperties['storePassword']
}
debug{
keyAlias keyProperties['keyAlias']
keyPassword keyProperties['keyPassword']
storeFile file(keyProperties['storeFile'])
storePassword keyProperties['storePassword']
}
}
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.release
}
}
这样设置就完成了
在控制台输入 flutter build apk 就可以执行打包了
等待几秒打包完成
可以将生成的安装包直接安装在Android设备上
注:发现了一个问题,生成的安装包安装在mumu模拟器上,打开会闪退,安装在真机则不会,这个问题待我研究研究在追加