Flutter生成Android的apk包
简介学习了Flutter开发,很想知道打包出来的apk包是什么样的,大小如何,所以这里就将Flutter生成Android的apk的步骤做一个简单的记录,供后期参考和使用。
系统:Windows
JDK:Java 1.8.0
Flutter:1.0
1、生成签名文件
D:\Java\jdk1.8.0_151\bin>keytool -genkey -v -keystore E:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: zhang
您的组织单位名称是什么?
[Unknown]: zhang
您的组织名称是什么?
[Unknown]: zhang
您所在的城市或区域名称是什么?
[Unknown]: zhang
您所在的省/市/自治区名称是什么?
[Unknown]: zhang
该单位的双字母国家/地区代码是什么?
[Unknown]: zhang
CN=zhang, OU=zhang, O=zhang, L=zhang, ST=zhang, C=zhang是否正确?
[否]: Y
正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 10,000 天):
CN=zhang, OU=zhang, O=zhang, L=zhang, ST=zhang, C=zhang
输入 <key> 的密钥口令
(如果和密钥库口令相同, 按回车):
再次输入新口令:
[正在存储E:/key.jks]
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore E:/key.jks -destkeystore E:/key.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
2、创建一个key.properties文件
在项目android目录下创建该文件,内容如下:
storePassword=123456 //上一步生成签名文件的密码(复制过去后一定把注释给去掉)
keyPassword=123456 //上一步生成签名文件的密码(复制过去后一定把注释给去掉)
keyAlias=key
storeFile=E:/key.jks //上一步生成签名文件路径(复制过去后一定把注释给去掉)
3、修改build.gradle文件
在项目android/app目录中,修改build.gradle文件,首先在android { 前面添加如下内容:
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
将下面的内容:
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
}
}
4、修改完以上文件后,就可以在项目中使用如下命令进行打包了
E:\flutter\hi_chengyu> flutter build apk Initializing gradle... 1.0s Resolving dependencies... 5.9s Gradle task 'assembleRelease'... Gradle task 'assembleRelease'... Done 8.3s Built build\app\outputs\apk\release\app-release.apk (5.3MB).
从上面也能看出,打包后整个apk包的大小只有5M多点。以上就是整个Flutter打包Android的apk包的步骤。