前言

最近公司开会说要搞一套 app 出来,所以嘛!没办法,干呗!学习 flutter。本篇文章记录 flutter 打包成 apk 的方法和步骤。虽说没什么东西,但是记录一下也是好的,毕竟好记性不如烂笔头嘛!话不多说,赶紧肝起来。

流程

使用官网给的命令生成 key.jks 文件

1
2
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

注意:

  • 保持文件私密; 不要将它加入到公共源代码控制中。
  • 此操作生成的签名是*.jks 格式

创建一个 key.properties 文件

创建一个名为/android/key.properties 的文件,其中包含对密钥库的引用

storePassword=<创建 keystore 时的 storePassword>,如:123456
keyPassword=123456<创建 keystore 时的 keyPassword>,如:123456
keyAlias=key
storeFile=../key.jks 例如:key/key.jks

1
2
3
4
5
// 演示:
storePassword = 123456;
keyPassword = 123456;
keyAlias = key;
storeFile = key / key.jks;

在 gradle 中配置签名

编辑/android/app/build.gradle 文件为您的应用配置签名

1
2
3
4
5
6
7
8
9
// 将下面的代码
android {
// 替换为
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

android {

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 将下面的代码
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
}
}

生成 apk

运行 flutter build apk命令,执行完成后就会生成apk包
生成apk包的目录 => /build/app/outputs/apk/app-release.apk

如果能够帮助到你,是小编最大的荣幸

当然 有 不好的地方 请大家帮忙指出 学习永无止境

小编一直认为 人外有人 天外有天 一起学习 共同进步

让我们共同加油吧!!!