Flutter打包apk(Gradle配置打包)
本次所记录的打包流程全部都是在Android Studio上完成的。
一、生成签名文件
Android在打包之前需要一个签名文件。
代码语言:javascript复制eclipse的签名文件是以.ketstore为后缀的文件;Android Studio是以.jks为后缀的文件。
这里我们用命令行生成一个.jks的文件。我们使用的是Android Studio自带的debug.keystore密钥库。
代码语言:javascript复制//生成sign.jks
keytool -genkey -v -keystore ~/sign.jks -keyalg RSA -keysize 2048 -validity 10000 -alias sign
-----------------------------生成文件路径--------------------------------------------------别名--
//查看证书SHA1
keytool -list -v -keystore sign.jks -alias sign -storepass android -keypass 123456
---------------------------文件路径----------别名-----------秘钥库密码---------sign文件密码--
//-keystore sign.jks
//-alias sign
//-storepass android
//-keypass 123456
以下是我的终端执行过程:
创建sign.jks文件.png
查看SHA1.png
二、Android Studio文件配置
1、导入sign.jks
在Flutter工程中/android/app/key/sign.jks创建该目录。要在app目录下创建key文件夹,然后把sign.jks拖进来。
2、创建key.properties
在Flutter工程中/android/key.properties创建该文件。里面内容如下:
代码语言:javascript复制storePassword=android
keyPassword=123456
keyAlias=sign
storeFile=key/sign.jks
3、配置/android/app/build.gradle文件
打包新加的配置如下,可以参照对比:
代码语言:javascript复制def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
signingConfigs {
release {
keyAlias 'sign'
keyPassword 'android'
storeFile file('key/sign.jks')
storePassword 'android'
}
}
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
}
}
}
以下是我的工程目录配置:
配置.png
三、Flutter打包apk
从终端进入flutter工程目录,运行以下命令自动生成apk,生成apk路径为:xxFlutterProject/build/app/outputs/apk/xx.apk
代码语言:javascript复制xxFlutterProject$ flutter build apk
Finder路径.png
四、Mac上给Android手机安装apk
1、Mac软件:Android文件传输下载地址
2、一台Android手机
3、一条数据线
剩下的步骤就是手机连接Mac了,然后把刚才的apk拖入手机某一个文件夹下,最好是好找一点。从Mac上传输完毕后,就在Android手机文件管理系统中找到该apk,点击安装。