Flutter配置签名打包全流程填坑笔记
2024-10-21 15:55:11
1、配置包名和版本
找到android-app-src-build.gradle
文件
在defaultConfig{...}中配置好版本号以及包名
2、生成key
将keytool路径添加进环境变量,cmd命令提示符窗口输入命令:
keytool -genkey -v -keystore D:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
上述命令表示在D盘生成key.jks密钥文件
3、创建key.properities
在android
目录中创建一个文件,文件名为:`key.properties'
文件内容为:(尖括号为占位符,具体参考下图)
storePassword = <password from previous step>
keyPassword = <password from previous step>
keyAlias = key
storeFile = <location of the key store file, e.g. /Users/<user name>/key.jks>
4、在gradle中配置签名
通过编辑<app dir>/android/app/build.gradle文件为您的应用配置签名
1、替换
android {
为
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android {
2.替换
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
ndk {
abiFilters 'armeabi-v7a'
}
}
}
5.flutter平台下默认密钥配置删除(狠一点直接删除build应该也可)
flutter坑就坑在你配置好所有密钥时要去主动删除当前的默认密钥配置参数,找到文件:build/app/intermediates/signing_config/release/out/signing-config.json 情况里面的内容
6.执行打包命令
终端执行命令flutter build apk --release
7.检查打包文件是否是自己配置的签名
将打包文件重命名成.zip后缀,解压。
cmd执行:keytool -printcert -file E:\签名校验\app-releasY\META-INF\CERT.RSA
其中app-releasY
最新文章
- Android打造属于自己的数据库操作类。
- SSIS 部署到SQL Job
- DESCryptoServiceProvider加密、解密
- Load Balancing 折半枚举大法好啊
- 【二进制】FZU 2062 Suneast &; Yayamao
- IOS中内存管理机制浅解
- Oracle11G卸载教程
- java源码equals和hashCode
- mybatis 三剑客 generator配置 、mybatis plugin
- MySQL基本概念以及简单操作
- python入门之字典
- pta 奇数值结点链表&;&;单链表结点删除
- 挂载本地ISO
- 提高 iOS App 通知功能启用率的三个策略
- input 输入的一些限制说明
- Mount qcow2 image
- go的IO函数,整理下最基本的IO处理函数,工欲善其事必先利其器
- SecureCrt的操持连接办法
- Java应用多机器部署定时任务解决方案
- 关于ArrayList add()方法 中的引用问题
热门文章
- 花10几元买ESP32-C3,体验一下MicroPython (和CircuitPython)
- gin 01
- Oracle DataGuard 出现 GAP 修复
- flexible.js源码分析
- bootstrapTable的一些属性
- Day12 面向对象
- docker 创建 network 指定ip 段
- M1芯片的Mac上如何安装Windows系统
- Cannot read properties of null (reading ‘insertBefore‘)
- 开启MySQL数据库远程连接