flutter 作为一个跨平台的开发语言,虽然边便捷但相应的坑也不少,今天我整理一下项目收尾的打包流程
安卓应用上架到谷歌市场或者各大手机厂商平台都是需要上传 apk文件包的。
一.打包成apk文件包,需要签名文件首先我们来创建一个签名文件
参考flutter文档:https://flutter.cn/docs/deployment/android#signing-the-app
打开终端输入以下命令,
$ keytool -genkey -v -keystore /Users/kingser/Desktop/anyouDemo/anyouobj/android/app/upload-keystore-anyou.jks -keyalg RSA -keysize 2048 -validity 10000 -alias anyou
注: 签名文件存放位置可以随意,只要自己找得到在哪就好,后期可以拖入项目中,某些公司出于安全考虑会专门存放起来,授权给需要打包的负责人处理
签名文件存放位置: /Users/kingser/Desktop/anyouDemo/anyouobj/android/app/upload-keystore-anyou.jks
签名有效天数 : 10000
签名文件别名: anyou


二.好了,签名文件已经生成那么接下来就是在flutter里面配置gradle了
1.先来看一下flutter项目的目录结构吧
每个flutter项目的flutter源码都在lib目录里面,每次编译flutter项目都会构建生成对应的android目录和iOS目录,这两个目录分别存放的是安卓和iOS的源码,

2.其中安卓目录最主要看的就是app文件,app目录里面的AndroidManifest.xml可以配置安卓的权限

3.签名文件需要和.properties后缀的文件配合,flutter默认给我们生成来一个local.properties文件

4.在local.properties文件我们需要配置之前生成签名文件时填写的信息,签名文件密码,别名,引入路径等
storePassword=123456
keyPassword=123456
keyAlias=anyou
storeFile=../anyou.jks

5.在android -> app -> build.gradle文件配置引入的签名信息

6.大功告成,可以在命令行打包apk了
$ flutter build apk --release
如果没有适配空安全就打没有空安全的包
$ flutter build apk --release --no-sound-null-safety
打出的apk包在build目录下
Built build/app/outputs/flutter-apk/app-release.apk (28.1MB).

7.科普一下app的logo和名称的修改

安卓要适配不同机型的厂商,所以有48x48 72x72 96x96 144x144 192x192 等尺寸的logo


网友评论