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
     
    只有当知道了全部,你的选择才有意义。
  • 相关阅读:
    poi 导出Excel
    【EasyUI】combotree和combobox模糊查询
    多线程和Socket套接字
    io流
    前端页面的语法 jquery javascript ajax
    spring+mybatis
    Exchanger 原理
    CountDownLatch、CyclicBarrier和 Semaphore
    sleep() 、join()、yield()有什么区别
    创建线程的方式及实现
  • 原文地址:https://www.cnblogs.com/splvxh/p/4203974.html
Copyright © 2011-2022 走看看