以下内容均是在mac版本电脑上的操作
1、生成签名
//根目录执行以下命令 keytool -genkey -v -keystore ~/sign.jks -keyalg RSA -keysize 2048 -validity 10000 -alias sign //输出 输入密钥库口令: 再次输入新口令: 您的名字与姓氏是什么? [Unknown]: chen 您的组织单位名称是什么? [Unknown]: gwfx 您的组织名称是什么? [Unknown]: no 您所在的城市或区域名称是什么? [Unknown]: 深圳 您所在的省/市/自治区名称是什么? [Unknown]: 广东省 该单位的双字母国家/地区代码是什么? [Unknown]: CN CN=chen, OU=gwfx, O=no, L=深圳, ST=广东省, C=CN是否正确? [否]: y 正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 10,000 天): CN=chen, OU=gwfx, O=no, L=深圳, ST=广东省, C=CN [正在存储/Users/admin/sign.jks] 执行命令 keytool -list -v -keystore sign.jks -alias sign -storepass 123456 -keypass 123456 打印如下: 别名: sign 创建日期: 2019年10月23日 条目类型: PrivateKeyEntry 证书链长度: 1 证书[1]: 所有者: CN=chen, OU=gwfx, O=no, L=深圳, ST=广东, C=CN 发布者: CN=chen, OU=gwfx, O=no, L=深圳, ST=广东, C=CN 序列号: 8e8d3fe 生效时间: Wed Oct 23 10:47:00 CST 2019, 失效时间: Sun Mar 10 10:47:00 CST 2047 证书指纹: SHA1: 2F:CB:5F:42:6D:7D:6F:29:D0:7D:3F:5B:7D:D2:F1:91:2F:D0:83:31 SHA256: D6:5A:49:16:A2:05:CE:83:F5:7B:30:7D:3F:BB:15:CD:ED:06:11:3F:D9:ED:08:87:CB:FB:BD:DD:F4:FD:B9:64 签名算法名称: SHA256withRSA 主体公共密钥算法: 2048 位 RSA 密钥 版本: 3 扩展: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: D1 08 DA 31 2A 7D 1D B0 FE B8 D0 70 A9 DA 84 18 ...1*......p.... 0010: 07 00 28 17 ..(. ] ]
keytool相关命令
//查看签名信息 keytool -v -list -keystore sign.jks //修改别名 keytool -changealias -keystore sign.jks -alias sign -destalias key0
2、将签名文件拖拽到flutter项目中 我这里放在 android文件夹目录
3、填写签名信息
进入android/app/build.gradle文件,找到android {}开头开头的位置添加如下内容
android { signingConfigs { key0Config { keyAlias 'key0' keyPassword '123456' storeFile file("../sign.jks") storePassword '123456' v2SigningEnabled false } } 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 signingConfig signingConfigs.key0Config } } }
4、修改包名为指定包名 位置:android/app/build.gradle 修改defaultConfig中applicationId的值
applicationId "com.xxx.xxx"
5、打包
flutter build apk
其他
申请网络权限
<uses-permission android:name="android.permission.INTERNET"/>
设置splash图片launch_background.xml
<item android:drawable="@mipmap/splash" />
设置ic_launcher AndroidManifest.xml
android:icon="@mipmap/ic_launcher">
来源:https://www.cnblogs.com/qqcc1388/p/11726041.html