没有签名的apk包签名方法

密匙库文件为 d:\project\xxxxx.keystore

别名(Alias)为LQ

那么签名的命令为:

jarsigner -verbose -keystore xxxxxxx.keystore -signedjar xxxsign.apk xxx.apk LQ

获取sha1值

  • 开发模式使用 debug.keystore,命令为:keytool -list -v -keystore debug.keystore
  • Windows:依次在 eclipse 中打开 Window -> Preferances -> Android -> Build。
    提示输入密钥库密码,开发模式默认密码是 android,发布模式的密码是为 apk 的 keystore 设置的密码。输入密钥后回车(如果没设置密码,可直接回车),此时可在控制台显示的信息中获取 Sha1 值
  • 发布模式使用 apk 对应的 keystore,命令为:keytool -list -v -keystore apk的keystore

1、查看第三方应用或是系统应用签名

用winrar打开待查看的apk,将其中META-INF文件夹解压出来,得到其中的CERT.RSA文件

keytool -printcert -file META-INF/CERT.RSA

 

2、重新签名apk

1.去除准备重新签名test.apk软件本身的签名

将apk文件后缀改为.zip,然后从winrar中删除META-INF文件夹,删除后重新将文件名改成apk的后缀

2.开始-运行-cmd

cd到android-sdk下的platform-tools文件运行

输入:jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore D:\tools\robotium\debug.keystore -storepass android -keypass android D:\tools\robotium\SinaVoice.apk androiddebugkey  按回车

备注:D:\tools\robotium\debug.keystore  这个是自己debug.key的位置

            D:\tools\robotium\test.apk    这个是我准备签名的apk

3. 再cd到android-sdk的tools文件下运行

输入:zipalign 4 D:\tools\robotium\test.apk D:\tools\robotium\SinaVoice_debug.apk 

最后:D:\tools\robotium\SinaVoice_debug.apk就是我们自动化测试用的apk文件

jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore wuyeapp.keystore -storepass www.e1858.com -keypass www.e1858.com Buiilding.apk wuye

3如何导出一个未签名的APK文件?

最终安装到Android手机中的APK文件都需要数字签名才能运行,通过ADT插件传输的APK文件会自动签有DEBUG权限的证书,导出未签名的 APK(unsigned apk)后使用常规的证书制作方法来签名参考 上面Android签名用keytool和jarsigner制作apk文件 一文。

方法一: 使用Eclipse,在Package Explorer中选择Androidmanifest.xml文件,找到overview项中,单击Export the unsigned apk。

方法二、直接进入工程文件夹,比如我们的为C:\Documents and Settings\Administrator\workspace\android\bin\android.apk,直接复制出来就是未签名的APK文件。

 

4 ,验证签名

jarsigner -verify /tmp/zhiwei.li.apk
jarsigner -verbose -certs -verify /tmp/zhiwei.apk 会输出详细的信息(输出详细信息和验证时显示证书)
 
/tmp/zhiwei.li.apk apk全路径

 

查看签名信息,以及包名MD5命令

 

keytool -v -list -keystore F:\Androidkey\keystore.jks

 

 

然后在该设备上执行如下命令将数据备份到电脑上:

XXX@ThinkPad:~/workspace/myself/temp$ adb backup -f back.ab -noapk com.jianshu.haruki
Now unlock your device and confirm the backup operation.

此时换一台设备B安装此应用,但是不登陆任何帐号密码,执行如下命令:

 

XXX@ThinkPad:~/workspace/myself/temp$ adb restore back.ab
Now unlock your device and confirm the restore operation.
 
 
 
adb shell cat /data/anr/traces.txt
 
adb pull /data/anr C:\traces.txt