flutter Android打包
以下内容均是在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">
flutter Android打包的更多相关文章
- Flutter Android 正式打包、以及升级应用 重新打包
Flutter Android 正式打包 打开androidStudio软件 1.修改版本号. android->app->src->main->AndroidManifest ...
- [Android Pro] Android打包一个Apk后,如何查看它的VersionCode、VersionName 等等。
Android打包成Apk后,其实是一个压缩文件,我们用winrar打开也能看到里面的文件结构.还能看到AndroidManifest.但是里面的内容有点问题. 不知道是因为加密还是Android就是 ...
- Android打包的那些事
使用gradle打包apk已经成为当前主流趋势,我也在这个过程中经历了各种需求,并不断结合gradle新的支持,一一改进.在此,把这些相关的东西记录,做一总结. 1. 替换AndroidManifes ...
- [Android Pro] Android 打包流程
Android 打包流程: 官网地址:http://developer.android.com/tools/building/index.html 具体的打包步骤如下: 1:生成R.java类文件:E ...
- 【No.2 Ionic】Android打包
项目做完之后 接下来就是打包操作了,接下来直接说Android 打包操作 生成签名证书 keytool -genkey -alias vincentguo -keyalg RSA -validity ...
- android打包apk时混淆遇到的问题
android打包apk的时候一般会选择混淆,而在eclipse中常使用的是proguard来混淆.有很多时候引用了第三方包的时候会导致打包不成功,或者打包成功不能运行的情况. 首先看看正常的prog ...
- react-native android打包签名release版apk遇到的问题
在该项目包名时遇到的一个android打包问题,如下 改包名步骤 修改android/app/build.gradle里的applicationId,为新包名,如:com.xxx.yyy.myProj ...
- RN在Android打包发布App
参考资料:http://www.jianshu.com/p/b8811669bcb6 RN在Android打包发布App 1-:生成一个签名密钥你可以用keytool命令生成一个私有密钥.在Windo ...
- Android打包 & Gradle用法
Ref: Maven仓库上查插件最新版本号The Central Repository Search Enginehttp://search.maven.org/#search%7Cga%7C1%7C ...
随机推荐
- Delphi 从一个对象中继承数据和方法
- IIS教程:因权限问题被拒绝访问的解决方案
https://blog.csdn.net/a497785609/article/details/49952281 写了一个类IISAdmin,负责建立.设置.删除虚拟目录,发现在web中调用,遇到权 ...
- scala-currying化
scala的加里化(currying)纠结了很久.通过Scala Worksheet 可以打印很多调试信息,所以用它写了一些测试代码,帮助自己理解. object test { //一个参数列表,3个 ...
- filebeat configure
docker run -d --rm -v ./filebeat.yml:/usr/share/filebeat/filebeat.yml -v /var/log:/var/log docker.e ...
- 报错Too many connections
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establish ...
- ...cURL error 60: SSL certificate problem: unable to get local issuer certificate...
问题描述: 在做PHP爬虫的时候, 安装了 guzzle 和 dom-crawler 之后, 调用的时候出现问题, 如下 报错内容: Fatal error: Uncaught GuzzleHttp ...
- INLINE HOOK过简单驱动保护的理论知识和大概思路
这里的简单驱动保护就是简单的HOOK掉内核API的现象 找到被HOOK的函数的当前地址在此地址处先修改页面保护属性然后写入5个字节.5个字节就是一个简单的JMP指令.这里说一下JMP指令,如下: 00 ...
- css让文字,字母折行
加上如下的CSS设置,就是设定好宽度width,然后设置合适的word-wrap和word-break属性: ul li{ width: 100px; word-wrap: break-word; w ...
- Mybatis源码学习之DataSource(七)_1
简述 在数据持久层中,数据源是一个非常重要的组件,其性能直接关系到整个数据持久层的性能.在实践中比较常见的第三方数据源组件有Apache Common DBCP.C3P0.Proxool等,MyBat ...
- Nginx数据结构之内存池
基本结构 1. ngx_pool_t struct ngx_pool_s { ngx_pool_data_t d; size_t max; ngx_pool_t *current; ngx_chain ...