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



我在使用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(如果已安装)

D:workspaceApp1> ant clean debug

然后

D:workspaceApp1Test> ant all clean debug install test

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

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

我创造了2个工作岗位:

  • App1-蚂蚁目标:clean debug
  • App1测试蚂蚁目标:all clean debug install test

App1Test配置为在成功生成App1之后运行。

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

App1Test出现,以便在安装任务之前正确运行。创建了App1-debug.apk和App1Test-debug.apk,但INSTALL任务中存在错误:

安装:[echo]将D:\Jenkins\workspace\App1Test\bin\App1Test-debug.apk安装到默认值模拟器或设备。。。[exec]pkg:/data/local/tmp/App1Test-debug.apk[exec]失败[INSTALL_PARSE_FAILED_INCONSISTENT_CERTICATES][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]成功[exec]433 KB/s(13883字节,0.031s)

installd:

-测试项目检查:

测试:[echo]正在运行测试。。。[exec]INSTRUMENTATION_STATUS:id=ActivityManagerService[exec]INSTRUMENTATION_STATUS:错误=拒绝权限:启动检测ComponentInfo{com.ss.test/android.test.IInstrumentationTestRunner}来自pid=2520,uid=2520不允许,因为包com.ss.test不允许具有与目标com.ss匹配的签名[exec]INSTRUMENTATION_STATUS_CODE:-1[exec]java.lang.SecurityException:拒绝权限:启动检测ComponentInfo{com.ss.test/android.test.IInstrumentationTestRunner}来自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...

和:

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

我跟随詹金斯:构建和测试一个Android应用程序,只有一个例外。如果我使用,我就无法构建测试项目

tested.project.dir=

属性。我只是在项目ant.properties文件中设置了正确的值,并提交给SVN:

tested.project.dir=../App1

(当然这不是问题的原因,但最好记录下来)。

我真的为这件事伤透了脑筋,如果有人能帮助我恢复理智,就会有大爱向你走来。

使用:android-sdk-16

SVN-

ant 1.8

Eclipse Indigo

已解决。。。。

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

因此,通过执行:

adb uninstall com.ss.test

新的测试apk安装良好。

相关内容

  • 没有找到相关文章

最新更新