Robotium 《Robotium 专栏》------(三) 正确地为安装包重新签名

candice · 2017年10月09日 · 3058 次阅读

下面分别介绍步骤和可能的问题

1、使用 re-sign.jar 工具签名
  1.1.下载 re-sign.jar 重签名工具:(下载地址为:http://troido.de/downloads/category/1);
  1.2. 打开 re-sign.jar,把你的 apk 拖进去
  1.3. 选中一个保存位置,点击图中的 “保存” 按钮
  1.4. 重签名成功后会弹出包含应用程序包名和启动 activity,记录这两个数据

2、使用 jarsigner 命令的方式签名
  2.1. 去除签名
    将 apk 文件的后缀改名为 xx.zip,使用 winrar 打开后,把 META-INF 文件夹删掉 ,删除后重新将文件名改成 apk 的后缀,这样就去除签名了。
 2.2. 使用如下命令进行重新签名
   注意下面的部分内容需要根据自己的密钥的位置,和待签名 apk 的位置进行设置
   jarsigner -verbose -keystore candice.keystore(签名文件的所在位置)-signedjar shoujibaidu_signed.apk shoujibaidu.apk candice.keystore

 2.3 . 使用 zipalign 工具优化已签名的 apk
      zipalign -v 4 shoujibaidu_signed.apk shoujibaidu_signed_aligned.apk
3、使用 Robotium Recorder 插件进行重签名
   因为 Robotium 在录制的过程中,会自动对 apk 进行签名,使用相对其它方式,非常的方便省事。工具安装地址:http://robotium.com/pages/user-guide-android-studio

  • 问题: 很多人使用 re-sign.jar 重签名失败,遇到如下问题,如: 1.re-sign.jar 我用的时候只是帮我去除了签名生成了一个叫-debug 的 apk,并没有签名,还是要用命令签名 2.我用过 re-sign.jar,光拖进去生成的那个是不行的,必须重新签
  • 答案: resigner.jar 是可以重签名的,只是它默认使用的 key 在 user/.android/debug.keystore,如果这个地址没有这个文件,就只会去签名而已。adt-bundle 的包在某个版本后,它包含的 eclipse 默认的 debug 签名位置变成了 bundle 的位置,所以造成了很多人使用 resigner.jar 不成功。

resigner.jar 是自动进行 zipalign 功能,如果重签名失败,提示缺少 zipalign.exe 文件。将 adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W 目录下的 zipalign.exe、aapt.exe 拷贝到 adt-bundle-windows-x86_64-20140702\sdk\tools 目录下。再次执行 OK。

完成重签名后就可以进行 Robotium 测试了!!!

共收到 0 条回复 时间 点赞
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册