如何生成自己的keystore呢?这个需要用到keytool这个东西。
首先cmd进入到D:\Java\jdk1.8\bin,keytool就在这个文件夹下。
注意这里的路径是你安装jdk的路径,他可以是D:\Java\jdk1.8\bin也可以是C:\Java\jdk1.8\bin还可以是D:\jdk\bin
输入如下代码:
1 | keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore |
命令解析如下:
-alias android.keystore 生成的keystore别名
-keyalg RSA 加密和数字签名的算法
-validity 20000有效天数
F:\Java\jdk1.8\bin>keytool -genkey -alias whu.keystore -keyalg RSA -validity 20000 -keystore whu.keystore 注意路径
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: Daye Sun
您的组织单位名称是什么?
[Unknown]: Cisoar.Inc
您的组织名称是什么?
[Unknown]: Qingdao Cisoar.Inc
您所在的城市或区域名称是什么?
[Unknown]: 青岛市
您所在的省/市/自治区名称是什么?
[Unknown]: 山东省
该单位的双字母国家/地区代码是什么?
[Unknown]: 86
CN=Daye Sun, OU=Cisoar.Inc, O=Qingdao Cisoar.Inc, L=青岛市, ST=山东省, C=86是否正确?
如果没有错误就可以在bin目录下发现多了一个whu.keystore的文件。
如何查看keystore的内容呢呢?
依然用keystool那个工具,keytool -list -v -keystore whu.keystore
注:默认的debug.keystore的密码是android
如何在Android Studio中设置keystore呢?
在build.gradle的Android节点下加一段话:
1 2 3 4 5 6 7 8 | signingConfigs{ debug{ storeFile file("C:\\Users\\Fly\\.android\\whu.keystore") storePassword "flyzy2005" keyAlias "whu.keystore" keyPassword "flyzy2005" } } |
也可以这样设置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | signingConfigs { release { storeFile file("xxxxxxxxStore") storePassword "xxxxxxxx" keyAlias "timehut team" keyPassword "xxxxxxxx" } } buildTypes { debug { signingConfig signingConfigs.release } release { signingConfig signingConfigs.release } } |
这样编译出来的debug版本直接用的是正式签名。
如何在Android Studio中设置app的签名呢?
Build->Generate Signed APK,
选择刚才的那个keystore,然后输入名字密码,点Finish就可以在Gragle Console里面看到是否生成了relese版本的apk了。