flutter-打包
1.生成keyStore
官网给出的命令是
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
可惜报错
keytool需要配置环境变量 不想配置环境变量,所以要找到keytool.exe
输入
flutter doctor -v
复制路径后再次输入命令
D:\'Program Files'\Android\'Android Studio'\jre\bin\keytool -genkey -v -keystore D:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
输入口令后 一路回车,确认按Y 后再输入回车就生成 D:\key.jks 的文档,这个文档不要给别人。注意在 .gitignore 中添加忽略文件
2.引用应用程序中的 keystore
创建一个名为 android/key.properties 的文件, 其中包含对秘钥文件的引用
storePassword=xxxxxx keyPassword=xxxxxx keyAlias=key storeFile=D:/key.jks
3.在 gradle 中配置签名
在 android/app/build.gradle 中为应用配置签名
## 1. 代码配置在android节点的上面 def keystorePropertiesFile=rootProject.file('key.properties') def keystoreProperties = new Properties() keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) ## 2. buildTypes节点上面配置 signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] } } buildTypes { release { singleConfig signingConfigs.release } }
4.构建一个发布版本的 APK
- cd 进入工程目录下
- flutter build apk
- 打包好的 apk 位于 build/app/outputs/apk/app.apk
5.修改 app 名称和图标
- 修改名称
- 位于 android/app/src/main 的 AndroidMainfest.xml 中
- application 节点中的数据就是应用的名称
- 修改用用图标
- 快速生成应用图标
- android/app/src/main/res 目录中, 将图标文件存入使用配置限定符命名的文件夹中,将自己的图表, 按照规范的名称和大小, 覆盖 Flutter 的默认图标