Android的自动化测试三: Permission Denial: starting instrumen

继续上一篇,之前我们已经解决了自动化测试sdk中自带的例子ApiDemos的自动化测试,接下来,我们自己测试一下自己的应用BarTack

步骤如下:

1.更改包名

2.更改activity名

更改如下:

然后继续上面的步骤,跑起来发现了类似如下错误:

Test run failed: Permission Denial: starting instrumentation ComponentInfo{ } from pid=21932, uid=21932 not allowed because package does not have a signature matching the target com.saic.android.bartackapp

解决办法如下:

切换到用户目录,删除.android目录下的

debug.keystore,然后clean工程 即可。

至于原因,解释如下:

其实原因已经说的很清楚了,测试项目中包含的证书签名跟项目中的签名证书不一样,那郁闷的你肯定会问

1.啥是证书

2.我什么时候应该签名证书

3.这个证书冲突的问题怎么解决

首先跟大家说一下,如果你要发布自己的产品到安卓市场的话,最好给应用上证书签名,这样可以确定开发者跟应用的对应关系,说的直白一点,,就是证书是证明软件是你开发的唯一凭证。

我们现在不需要发布,因此,把证书什么的统统删掉,直接使用系统自带的debug证书就可以了

这就是为什么要删掉debug.keystore文件并clean工程的原因,当然,你可以不删除debug.keystore的,大部分情况下是没有问题。

话又说回来了,如果我们要发布应用,怎么打证书呢,截图如下:

告诉自己,我这次失败了,重新开始吧!下次我会吸取教训,不让自己犯同样的错误的

Android的自动化测试三: Permission Denial: starting instrumen

相关文章:

你感兴趣的文章:

标签云: