Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
证书不匹配问题使用Jenkins在AVD上安装Android测试应用程序_Android_Ant_Certificate_Automated Tests_Jenkins - Fatal编程技术网

证书不匹配问题使用Jenkins在AVD上安装Android测试应用程序

证书不匹配问题使用Jenkins在AVD上安装Android测试应用程序,android,ant,certificate,automated-tests,jenkins,Android,Ant,Certificate,Automated Tests,Jenkins,我在使用Jenkins构建和安装我的Android测试项目时遇到了问题(向下翻页查看实际错误) 我在Eclipse中创建了一个简单的Android项目和相应的测试项目。我已执行以下命令: android update project -p App1 android update test-project -m ../App1 -p App1Test 我可以在Eclipse中运行测试项目,这些项目可以构建、安装在AVD上(已经运行)并正确执行 此外,我还可以从命令行成功执行以下操作: D:\&g

我在使用Jenkins构建和安装我的Android测试项目时遇到了问题(向下翻页查看实际错误)

我在Eclipse中创建了一个简单的Android项目和相应的测试项目。我已执行以下命令:

android update project -p App1
android update test-project -m ../App1 -p App1Test
我可以在Eclipse中运行测试项目,这些项目可以构建、安装在AVD上(已经运行)并正确执行

此外,我还可以从命令行成功执行以下操作:

D:\> adb uninstall com.ss
(从AVD中删除App1(如果已安装)

然后

同样,App1-test-debug.apk和App1-debug.apk被构建并安装在AVD上,测试被执行

问题是当我试图用詹金斯做这件事的时候

我创造了两个就业机会:

  • App1-ant目标:
    clean debug
  • App1Test-ant目标:
    所有清理调试安装测试
App1测试配置为在成功生成App1后运行

App1作业正确运行,正在创建App1-debug.apk

App1Test在执行安装任务之前似乎运行正常。 已创建App1-debug.apk和App1Test-debug.apk,但
安装任务中存在错误:

安装: [echo]将D:\Jenkins\workspace\App1Test\bin\App1Test-debug.apk安装到默认设置 模拟器或设备。。。 [exec]pkg:/data/local/tmp/App1Test-debug.apk [exec]失败[安装\解析\失败\证书不一致] [exec]40 KB/s(0.343s中的14127字节)

-设置模式检查:

-设置调试文件:

安装: [echo]正在将D:\Jenkins\workspace\App1\bin\App1-debug.apk安装到默认仿真器或设备上。。。 [exec]pkg:/data/local/tmp/App1-debug.apk [执行官]成功 [exec]433KB/s(0.031s中13883字节)

已安装:

-测试项目检查:

测试: [echo]正在运行测试。。。 [exec]检测工具\u状态:id=ActivityManager服务 [exec]检测\u状态:错误=权限拒绝:启动检测 ComponentInfo{com.ss.test/android.test.InstrumentationTestRunner}来自 pid=2520,uid=2520不允许,因为包com.ss.test不允许 具有与目标com.ss匹配的签名 [exec]仪表状态代码:-1 [exec]java.lang.SecurityException:权限拒绝:启动检测 ComponentInfo{com.ss.test/android.test.InstrumentationTestRunner}来自 pid=2520,uid=2520不允许,因为包com.ss.test不允许 具有与目标com.ss匹配的签名

我知道App1和App1Test都需要使用相同的证书进行签名,在这种情况下,证书应该是相同的调试证书。为什么每个项目使用不同的证书

完整日志显示两个APK都使用调试证书签名:

-package:
[apkbuilder] Current build type is different than previous build: forced apkbuilder run.
[apkbuilder] Creating App1-debug-unaligned.apk and signing it with a debug key...
以及:

我跟着,只有一个例外。如果我使用

tested.project.dir=
属性在高级Ant部分中。我只需在projects
ant.properties
文件中设置正确的值,并提交给SVN:

tested.project.dir=../App1
(确保这不是问题的原因,但最好记录下来)

我真的为这件事大发雷霆,如果有人能帮我恢复理智,你会得到大爱的

使用: android-sdk-16

SVN

蚂蚁1.8

Eclipse Indigo已解决

测试apk必须使用不同的密钥库安装在设备上(不确定如何安装)

因此,通过执行:

adb uninstall com.ss.test
“新”测试apk安装良好

tested.project.dir=
tested.project.dir=../App1
adb uninstall com.ss.test