0

好的,所以我刚刚为 Eclipse Luna 4.4.2 创建了一个带有 MobileFirst 插件(版本 7.1.0)的 HelloWorld 混合应用程序,然后我想使用 MobileFirst Platform Test Workbench(版本 8.7)对其进行测试。我将应用程序部署到我的 Android 设备 (5.0.1) 上,然后我想使用 IBM Rational Test Workbench 移​​动应用程序上传它。我的设备已正确链接,但出现以下错误:

!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 一起工作以继续我的工作。有任何想法吗?提前致谢。

4

1 回答 1

2

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

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

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

一种解决方法是将android sdk管理器中的“构建工具”降级为旧版本

杰罗姆·博齐尔

高级软件工程师

IBM RTW 移动 - 安卓

于 2015-09-11T07:17:34.997 回答