Android
Android要求所有应用都要有一个数字签名才会被允许安装在用户手机上,因此在把应用发布到应用商店之前,需要对生成的APK包进行签名。
生成签名文件
接下来我们需要使用keytool工具生成签名文件,这是java提供的秘钥和郑虎管理工具。
keytool命令选项用法
-certreq 生成证书请求
-changealias 更改条目的别名
-delete 删除条目
-exportcert 导出证书
-genkeypair 生成密钥对
-genseckey 生成密钥
-gencert 根据证书请求生成证书
-importcert 导入证书或证书链
-importpass 导入口令
-importkeystore 从其他密钥库导入一个
-keypasswd 更改条目的密钥口令
-list 列出密钥库中的条目
-printcert 打印证书内容
-printcertreq 打印证书请求的内容
-printcrl 打印 CRL 文件的内容
-storepasswd 更改密钥库的存储口令
keytool -genkeypair 选项
-alias <alias> 要处理的条目的别名
-keyalg <keyalg> 密钥算法名称
-keysize <keysize> 密钥位大小
-sigalg <sigalg> 签名算法名称
-destalias <destalias> 目标别名
-dname <dname> 唯一判别名
-startdate <startdate> 证书有效期开始日期/时间
-ext <value> X.509 扩展
-validity <valDays> 有效天数
-keypass <arg> 密钥口令
-keystore <keystore> 密钥库名称
-storepass <arg> 密钥库口令
-storetype <storetype> 密钥库类型
-providername <providername> 提供方名称
-providerclass <providerclass> 提供方类名
-providerarg <arg> 提供方参数
-providerpath <pathlist> 提供方类路径
-v 详细输出
-protected 通过受保护的机制的口令
进入项目/android/app目录,然后运行下面的命令,在此目录下生成签名证书
// 参数根据自己的需求进行填写
keytool -genkeypair -v -keyalg RSA -keysize 2014 -validity 365 -keystore my-store-release-key.keystore -alias my-store -keypass 123456789 -storepass 123456789
在android/gradle.properties中加入:
MYAPP_RELEASE_STORE_FILE=my-store-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-store
MYAPP_RELEASE_STORE_PASSWORD=123456789
MYAPP_RELEASE_KEY_PASSWORD=123456789
在android/app/build.gradle添加下面的代码(注释部分).
def enableProguardInReleaseBuilds = true // 1改成true
android {
...
defaultConfig {
....
}
// 2添加签名配置
signingConfigs {
release {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}}
splits {
....
}
buildTypes {
release {
// 3添加签名配置
signingConfig signingConfigs.release
...
}
}
.....
}
}
}
}
终端cd 到android目录下.执行命令
gradlew assembleRelease
等一下终端执行后显示BUILD SUCCESSFUL.
成功打好了.在项目的android\app\build\outputs\apk\release下可见刚才打好的apk包
图标的替换
图标
将logo拖到app icon gear中 生成四个规格的图标,分别放到android/app/src/main/res
下的四个文件夹中,命名为ic_launcher.png 没有对应上的文件夹放一张1024*1024 或者512*512的即可
名称
在android/app/src/main/res/values/strings.xml 中更改