首页  »   Android

替方便Robotium自动测试需要对apk用本地安卓sdk中的debug.keystore进行重新签名

网友分享于:2014-06-16  浏览:11次
为方便Robotium自动测试需要对apk用本地安卓sdk中的debug.keystore进行重新签名

 

为进行Robotium自动测试需要对apk用本地安卓sdk中的debug.keystore进行重新签名

 

操作主要用的工具为jarsigner
jarsigner工具位于电脑java sdk安装目录中的bin目录下
例如,在我的mac电脑上是:

/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin

 

下面提到的 /Users/zjq/Documents/temp/Calculator.apk 是我测试使用的demo。

 

第1步:查看apk签名信息

jarsigner -verify -verbose -certs /Users/zjq/Documents/temp/Calculator.apk

执行结果如下:

s        713 Fri Jun 13 00:08:12 CST 2014 META-INF/MANIFEST.MF

      X.509, CN=Android Debug, O=Android, C=US
      [证书的有效期为14-1-13 下午2:44至44-1-6 下午2:44]
      [CertPath 未验证: Path does not chain with any of the trust anchors]

         875 Fri Jun 13 00:08:14 CST 2014 META-INF/ANDROIDD.SF
        1211 Fri Jun 13 00:08:14 CST 2014 META-INF/ANDROIDD.RSA
sm      1856 Thu Jan 27 01:01:34 CST 2011 res/layout/main.xml

      X.509, CN=Android Debug, O=Android, C=US
      [证书的有效期为14-1-13 下午2:44至44-1-6 下午2:44]
      [CertPath 未验证: Path does not chain with any of the trust anchors]

sm      1456 Thu Jan 27 01:01:34 CST 2011 AndroidManifest.xml

      X.509, CN=Android Debug, O=Android, C=US
      [证书的有效期为14-1-13 下午2:44至44-1-6 下午2:44]
      [CertPath 未验证: Path does not chain with any of the trust anchors]

sm      1588 Thu Jan 27 01:01:34 CST 2011 resources.arsc

      X.509, CN=Android Debug, O=Android, C=US
      [证书的有效期为14-1-13 下午2:44至44-1-6 下午2:44]
      [CertPath 未验证: Path does not chain with any of the trust anchors]

sm      3966 Thu Jan 27 01:01:34 CST 2011 res/drawable-hdpi/icon.png

      X.509, CN=Android Debug, O=Android, C=US
      [证书的有效期为14-1-13 下午2:44至44-1-6 下午2:44]
      [CertPath 未验证: Path does not chain with any of the trust anchors]

sm      1537 Thu Jan 27 01:01:34 CST 2011 res/drawable-ldpi/icon.png

      X.509, CN=Android Debug, O=Android, C=US
      [证书的有效期为14-1-13 下午2:44至44-1-6 下午2:44]
      [CertPath 未验证: Path does not chain with any of the trust anchors]

sm      2200 Thu Jan 27 01:01:34 CST 2011 res/drawable-mdpi/icon.png

      X.509, CN=Android Debug, O=Android, C=US
      [证书的有效期为14-1-13 下午2:44至44-1-6 下午2:44]
      [CertPath 未验证: Path does not chain with any of the trust anchors]

sm      3716 Thu Jan 27 01:01:34 CST 2011 classes.dex

      X.509, CN=Android Debug, O=Android, C=US
      [证书的有效期为14-1-13 下午2:44至44-1-6 下午2:44]
      [CertPath 未验证: Path does not chain with any of the trust anchors]


  s = 已验证签名
  m = 在清单中列出条目
  k = 在密钥库中至少找到了一个证书
  i = 在身份作用域内至少找到了一个证书

jar 已验证。

警告:
此 jar 包含证书链未验证的条目。

 说明:这个 apk已经存在签名信息了。

 

第2步: 删掉apk中的签名信息

将 Calculator.apk 复制1个取名为 Calculator_unsign.apk

然后将 Calculator_unsign.apk 改名为 Calculator_unsign.zip

然后用winrar工具打开Calculator_unsign.zip,找到里面的META-INF目录,把这个META-INF目录删除,然后退出winrar。

 

 

 

 

 

 

 

 

 

 

 

相关解决方案

最新解决方案