51Testing软件测试论坛

标题: 请教各位关于APK签名的问题 [打印本页]

作者: bobo97000    时间: 2014-6-11 16:19
标题: 请教各位关于APK签名的问题
小弟 在学习APK的测试,当跑测试的时候 遇到以下的问题:

Test run failed: Permission Denial: starting instrumentation ComponentInfo{com.example.android.notepad.exec/android.test.InstrumentationTestRunner} from pid=1423, uid=1423 not allowed because package com.example.android.notepad.exec does not have a signature matching the target com.example.android.notepad

小弟知道是APK签名的问题,搜索各大论坛解决方法都是不是很清楚。环境配置是win7 + ADT + 模拟器

请教一下各位如何解决这个应用和测试工程用的签名保持一致的问题? 谢谢
作者: 张亚洲    时间: 2014-6-12 13:10
原因:Built路径在搞鬼(即default debug keystore的路径)该路径要和android的AVD默认路径一至,且路径中不能有中文,

解决方法:default debug keystore这个路径不能直接改。得用以下方法改动
            打开系统属性-->环境变量—>在“系统变量”那一个GroupBox下面选择“新建”-->变量名为 "ANDROID_SDK_HOME” (注意,这个变量名不能改变,只能是这个名字!),然后把变量值改为你想把AVD所在的".android”文件夹放置的位置,比如我就放在 E:\android\android-sdk-windows,也可以更改成其它的路径
         
    设定成功的话 ,在eclipse里preferneces -> Android -> Bulid Setting里为如下结果:Default debug keystore: E:\android\android-sdk-windows\.android\debug.keystore
    这样你的签名问题就解决了, 打debug包的时候必须用同一个签名文件。默认会有两个签名文件的,改成一个就行了。
作者: bobo97000    时间: 2014-6-12 15:54
回复 2# 张亚洲

谢谢版主的回复。由于本人是初学者,所以还有一个问题请教:

首先我已经按照之前的回复,创建了新的路径。
我是从网上下载一个apk文件,通过Testdroid进行安装录制,就会出现之前那个问题。虽然按照你的提示加了变量和路径但还是同样的问题。

是否应该把下载的APK文件的签名更改呢?有什么方法修改呢?

PS:直接测试Android project没有问题,可以录制。
作者: 张亚洲    时间: 2014-6-14 15:51
回复 3# bobo97000


    必须重新签名的,他提供的debug签名是用他的签名文件签的名,所以你的测试APK和被测APK的签名会不一样,你把他的APK重新签名就行了。
作者: 张亚洲    时间: 2014-6-14 15:53
可以用录制工具重新签名啊,也可以用 re-sign.jar,这个工具太太好用。还有好多命令行,网上很多,你可以参考一下
作者: bobo97000    时间: 2014-6-16 16:34
谢谢 版主 问题已经解决




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2