当您的游戏准备发布前,需要编译成为release版本,命令中需要增加 -m release,编译命令如下:
cocos compile -p android -m release
在编译结束后,生成xxx_release_unsigned.apk,此时会提示进行签名,需要输入.keystore的路径。
.keystore的生成方法:
使用keytool,命令如下:
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Keytool 选项 | 描述 |
---|---|
-genkey | 生成一个key pair (公钥和私钥) |
-v | 允许详细内容输出. |
-alias <alias_name> | key的别名. 只会用到前8个字符. |
-keyalg <alg> | 生成key时的加密算法. 支持 DSA 和 RSA. |
-keysize <size> |
生成的key的大小(bits). 如果不提供, Keytool使用默认的Key大小:1024. 通常情况下,我们推荐使用 2048或者更大的key尺寸. |
-dname <name> |
描述key的创建者的标识名称. 注意, 不要在命令行下指定这个选项. 此时 Jarsigner会提示你输入每一个标识名称字段(CN, OU,等) |
-keypass <password> |
key的密码. 安全起见, 不要在命令行中包含这个选项. 这种方式中, 密码不会被保存在shell历史数据中. |
-validity <valdays> |
key的有效期, 以天数为单位. |
-keystore <keystore-name>.keystore | 保存私钥的keystore名称. |
-storepass <password> |
keystore的密码. 此时, Keytool会提示输入这个密码. 在这种方式中, 密码不会被保存在shell历史数据中. |
生成keystore后,按照提示输入即可, 注意此处输入的alias_name要与.keystore中的一致。