apk手动签名

在为游戏接入渠道SDK时,接好后一般都是要手动给游戏包签名,不像开发应用那样,直接使用android studio工具界面进行签名,今天就总结了一下,怎么去手动对游戏包进行签名。

1)keytool:生成数字证书,即密钥,也就是上面说到的扩展名为.keystore的那类文件;

keytool -genkey -v -keystore it-homer.keystore -alias it-homer.keystore -keyalg RSA -validity 20000

说明:

1、keytool是工具名称,-genkey意味着执行的是生成数字证书操作,-v表示将生成证书的详细信息打印出来,显示在dos窗口中;

2、-keystore  it-homer.keystore 表示生成的数字证书的文件名为“ it-homer.keystore”;

3、-alias  it-homer.keystore 表示证书的别名为“ it-homer.keystore”,当然可以不和上面的文件名一样;

4、-keyalg RSA 表示生成密钥文件所采用的算法为RSA;

5、-validity 20000 表示该数字证书的有效期为20000天,意味着20000天之后该证书将失效

2)jarsigner:使用数字证书给apk文件签名;

 jarsigner -verbose -keystore  it-homer.keystore -signedjar notepad_signed.apk notepad.apk  it-    homer.keystore

说明:

1、jarsigner是工具名称,-verbose表示将签名过程中的详细信息打印出来,显示在dos窗口中;

2、-keystore  it-homer.keystore 表示签名所使用的数字证书所在位置,这里没有写路径,表示在当前目录下;

3、-signedjar notepad_signed.apk notepad.apk 表示给notepad.apk文件签名,签名后的文件名称为notepad_signed.apk;

4最后面的 it-homer.keystore 表示证书的别名,对应于生成数字证书时-alias参数后面的名称

3)zipalign:对签名后的apk进行优化,提高与Android系统交互的效率(Android SDK1.6版本开始包含此工具)

zipalign -v 4 notepad_signed.apk notepad_signed_aligned.apk

说明:

1、zipalign是工具名称,-v表示在DOS窗口打印出详细的优化信息;

2、notepad_signed.apk notepad_signed_aligned.apk 表示对已签名文件notepad_signed.apk进行优化,优化后的文件名为notepad_signed_aligned.apk

例子:签名:jarsigner -verbose -keystore appgame.keystore -storepass 123456 -signedjar signed.apk  MainGame-main-201702211454-unsigned.apk android.keystore

猜你喜欢

转载自blog.csdn.net/m0_37836194/article/details/89642709
今日推荐