zoukankan      html  css  js  c++  java
  • 重签名问题:does not have a signature matching

    今天在家里电脑重签名过的apk拿到公司来用装到模拟器上,运行Robotium测试用例时,报了如下错误,原本以为是工程里的activity名称和包名写错了呢,检查了一遍发现木有错误呀。。。。
    好吧,那我重新签名总可以吧,又用re-sign.jar重签名了一次,然后重装,报错依旧,没有解决问题。。。
    只能问伟大的度娘了,终于解决了,现记录如下:
    【错误】:
    [2015-01-05 15:12:57 - WdjRobotiumTest] Test run failed: Permission Denial: starting instrumentation ComponentInfo{com.example.test.test/android.test.InstrumentationTestRunner} from pid=1617, uid=1617 not allowed because package com.example.test.test does not have a signature matching the target com.wandoujia.phoenix2
    【原因】:
    eclipse下配置的Default debug keystore与系统默认keystore的不一致;
    使用eclipse执行代码时会用eclipse内配置的keystore去签名你的测试apk;
    而使用重签名工具re-sign.jar进行重签名时,使用的是C盘下面的keystore去签名,这样活导致两者签名不一致导致上诉错误;
    【解决方案】:
    我的C盘下:C:\Users\Administrator\.android\没有debug.keystore文件,所以我把eclipse里配置的路径下的文件拷贝到了C盘下;
    重新运行,问题解决了~~
    总之,
    只要把eclipse的默认keystore与C:\Users下的一致就行了;
    eclipse配置路径:
    window->Prefrences->Android->Build下:Default debug keystore设置成C:\Users\Administrator\.android\debug.keystore
     
    只有当知道了全部,你的选择才有意义。
  • 相关阅读:
    Java多线程(3) Volatile的实现原理
    Java 多线程(2)-Executor
    Java 多线程(1)-Thread和Runnable
    nginx+php部署
    MySQL的慢查询分析
    MySQL 错误
    log4j.properties配置详解
    Windows下Nginx的安装与配置(转)
    Java 字符的验证
    Spring MVC3返回JSON数据中文乱码问题解决(转)
  • 原文地址:https://www.cnblogs.com/splvxh/p/4203974.html
Copyright © 2011-2022 走看看