将混合应用程序上传到mobilefirst测试工作台失败

时间:2015-09-08 15:28:24

标签: android eclipse ibm-mobilefirst mobilefirst-mtw

好的,我刚刚为Eclipse Luna 4.4.2创建了一个带有MobileFirst插件(版本7.1.0)的HelloWorld混合应用程序,然后我想用MobileFirst Platform Test Workbench(版本8.7)进行测试。 我将应用程序部署到我的Android设备(5.0.1)上,并从那里开始,我想使用IBM Rational Test Workbench Mobile Application上传它。我的设备链接正确,但我收到以下错误:

!ENTRY com.ibm.rational.test.lt.models.behavior.moeb 1 0 2015-09-08 17:03:55.746
!MESSAGE CRRTWM6013I from component Android-BuildChain: configuration: {cache.dir=C:\Users\IBM_ADMIN\Documents\Luna Workspace\.metadata\.plugins\com.ibm.rational.test.lt.models.behavior.moeb\cache, android.runtime.dir=C:\Users\IBM_ADMIN\Desktop\eclipse\plugins\com.ibm.rational.test.mobile.android.runtime_1.4.103.v20150415_1441, ibm.jdk.install.dir=C:\Program Files\Java\jdk1.7.0_79, android.sdk.install.dir=C:\Users\IBM_ADMIN\AppData\Local\Android\sdk, runtime.cache.dir=C:\Users\IBM_ADMIN\Documents\Luna Workspace\.metadata\.plugins\com.ibm.rational.test.lt.models.behavior.moeb\builds\runtimes}

!ENTRY com.ibm.rational.test.lt.models.behavior.moeb 4 0 2015-09-08 17:03:58.507
!MESSAGE CRRTWM6012E exception thrown from component Android-BuildChain while building from '0-base.apk'
!STACK 0
brut.androlib.AndrolibException: Could not decode arsc file
    at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:70)
    at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:598)
    at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:123)
    at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:114)
    at brut.androlib.Androlib.getResTable(Androlib.java:68)
    at brut.androlib.ApkDecoder.getResTable(ApkDecoder.java:189)
    at brut.androlib.ApkDecoder.decode(ApkDecoder.java:114)
    at com.ibm.rational.test.mobile.android.buildchain.tools.apktoolwrapper.ApkToolWrapper.decode(ApkToolWrapper.java:107)
    at com.ibm.rational.test.mobile.android.buildchain.AndroidBuildChain.build(AndroidBuildChain.java:190)
    at com.ibm.rational.test.lt.models.behavior.moeb.utils.BuildChainManager$Build.run(BuildChainManager.java:201)
    at java.lang.Thread.run(Thread.java:857)
Caused by: java.io.IOException: Expected: 0x00000008, got: 0x00000003
    at brut.util.ExtDataInput.skipCheckShort(ExtDataInput.java:64)
    at brut.androlib.res.decoder.ARSCDecoder.readValue(ARSCDecoder.java:266)
    at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:219)
    at brut.androlib.res.decoder.ARSCDecoder.readConfig(ARSCDecoder.java:205)
    at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:163)
    at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:132)
    at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:101)
    at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:63)
    ... 10 more
!ENTRY com.ibm.rational.test.lt.models.behavior.moeb 4 0 2015-09-08 17:03:58.507
!MESSAGE CRRTWM6010E exception thrown while building from '0-base.apk'
!STACK 0
java.lang.Error: Apktools decode failed
    at com.ibm.rational.test.mobile.android.buildchain.AndroidBuildChain.build(AndroidBuildChain.java:191)
    at com.ibm.rational.test.lt.models.behavior.moeb.utils.BuildChainManager$Build.run(BuildChainManager.java:201)
    at java.lang.Thread.run(Thread.java:857)

我尝试了几种使用不同sdk和不同jre的不同选项,但我迫切需要让它与API 21和JRE 7一起使用以继续我的工作。有任何想法吗? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

这是最新的构建工具版本中出现的一个已知问题

简而言之,RTW使用" dex2jar"和其他实用工具,依赖于android sdk。 如果sdk进化(例如新的构建工具),这些工具也必须被升级(它们嵌入在RTW中)

最好将RTW升级到最新版本,以便能够支持您的sdk版本(请联系IBM支持部门.RTW 8702可用,871应该在2015年10月中旬左右)

一种解决方法是降级你的"构建工具"在android sdk manager中的旧版本

Jerome Bozier

高级软件工程师

IBM RTW Mobile - Android