1. 前言
Flutter在调试下程序会特别的卡,但打包之后会变流畅,所以将项目打包测试卡顿情况。
当前只打包Android,开发环境是Android Studio,日后还会尝试IOS。
2. 步骤
- 生成key
- 配置key
- 配置build.gradle
- 生成apk
3. 详细步骤
1. 生成key
生成方式两种:
- 通过命令
- Android Studio的功能。
1.1. 命令(生成到D盘):
keytool -genkey -v -keystore D:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
在Android Studio的Terminal(工具底部)输入命令,填写一系列信息,最后确定填 " y "即可
1.2. 自带功能生成
不详细说明,在Android项目存在此功能
2. 配置key
在android目录下新建文件 “ key.properties ”
文件内填写内容:
storePassword=密匙库口令
keyPassword=key密匙口令
keyAlias=key别名
storeFile=路径
1.密匙库口令:输入命令后就需要输入的口令,如下
keytool -genkey -v -keystore D:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
输入密钥库口令:
再次输入新口令:
2.key密匙口令:当输入命令并填写信息确定后输入的口令
CN=fan, OU=yuan, O=yuan, L=gz, ST=gd, C=cn是否正确?
[否]: y
正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 10,000 天):
CN=fan, OU=yuan, O=yuan, L=gz, ST=gd, C=cn
输入 <key> 的密钥口令
(如果和密钥库口令相同, 按回车):
3.key别名,命令 -alias后的是别名,这里是key
3. 配置build.gradle
这里配置的是app目录里面的build.gradle
- 在android{ 前
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
...
- 在android里的加入signingConfigs和替换buildTypes
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
// 替换成 release
signingConfig signingConfigs.release
}
}
4. 生成apk
在Terminal中输入命令 “ flutter build apk ”
C:\Users\Admin\Desktop\mdc_100_series>flutter build apk
Initializing gradle... 1.4s
Resolving dependencies... 3.2s
Gradle task 'assembleRelease'...
Gradle task 'assembleRelease'... Done 14.3s
Built build\app\outputs\apk\release\app-release.apk (10.1MB).
最后生成的apk在项目目录的 build\app\outputs\apk里