apk 的命令行生成keystore文件:(以下都是在cmd中进行操作的)
1.首先进入jdk的bin目录:如: C:\Program Files\Java\jdk1.6.0_43\bin
2.输入命令行:keytool -genkey -alias asaiAndroid.keystore -keyalg RSA -validity 20000 -keystore asaiAndroid.keystore,然后生成的mySign.keystore就在jdk/bin目录中。
解释:-alias 后面跟的是别名这里是 asaiAndroid.store
-keyalg 是加密方式这里是RSA
-validity 是有效期 这里是20000
-keystore 就是要生成的keystore的名称 这里是asiAndroid.keystore
然后按回车键 ,按回车后首先会提示你输入的密码:这个在签名时要用的,要记住,然后会再确认你的密码。 之后会依次叫你输入姓名、组织单位、组织名称、城市区域、省份名称、国家代码
设置完信息,最后再次输入原来的密码进行确认,再输入yes/no确定完成签名,并生成mySign.keystore签名文件;
步骤如下图:
在cmd中进行以上操作就会在你的 jdk的bin目录中生成一个keystore文件。
我们也可以在cmd中输入命令行:dir c:asaiAndroid.keystore 查看文件是否真正的生成:
keystore文件已经生成,接下来就开始为apk进行签名了:
开始为unsigned.apk签名 步骤:PS:unsigned.apk mySigned.keystore必须在同个文件夹下,因为没有配置keytool的环境变量,所以暂时需要的文件均放在jdk/bin文件目录下;使用jarsigner
命令:jarsigner -verbose -keystore mySign.keystore-signedjar AndroidTest_signed.apk AndroidTest.apk mySign.keystore生成的Lotteryonline_signed.apk就在jdk/bin目录中
解释:-keystore: keystore的名称
AndroidTest_signed.apk: 签名后的APK
AndroidTest.apk: 签名前的APK
然后按回车:会要求输入刚才设置的密码,输入后按回车就开始签名了。
步骤如下图:
输入密码后,按回车就会提示签名信息是否成功:
如果你成功的话在你的 jdk的bin目录下就会生成一个 Test_sign.apk文件. 此时说明到这里就算给apk签名成功了.
以上是在cmd环境下对apk进行签名的,接下来再说一下在Eclipse下是怎样签名的:
首先选中要签名的项目,然后右键: Android-Tools -----> Export signed application package
next
next
finish
到这里会生成一个mysign.keystore 和一个经过签名的apk. 说明你的apk签名成功了.
最后注意一点:如果用不同keystore 签名两个一样的apk,在手机上先后安装两个apk是会报冲突错误的,结果安装不成功,如下图所示:
最后讲一下签名后的app是否签名成功:
在cmd中进入签名文件夹,然后输入以下命令行:
E:\app-sigain>jarsigner -verify xxx.apk
在执行这个命令后,如果提示 : jar 已验证。 说明已经签名成功.
相关文章: