Search code examples
androideclipseibm-mobilefirstmobilefirst-mtw

Uploading hybrid app to mobilefirst test workbench fails


Okay, so I just created an HelloWorld hybrid application with the MobileFirst Plugin (Version 7.1.0) for Eclipse Luna 4.4.2 which I want to then test with the MobileFirst Platform Test Workbench (Version 8.7). I deployed the app onto my Android Device (5.0.1) and from there on I want to upload it, using the IBM Rational Test Workbench Mobile Application. My device is correctly linked but I'm getting the following errors:

!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)

I tried several different options of using different sdk's and different jre's but I desperately need to get it to work with API 21 and JRE 7 to continue my work. Any ideas? Thanks in advance.


Solution

  • it is a known problem that appeared with latest build-tools versions

    to make short, RTW uses "dex2jar" and other utility tools, that rely on android sdk. if sdk evolve (new build-tools for example), these tools have to be also ugraded (they are embedded in RTW)

    Best would be to upgrade RTW to latest version to be able to support your sdk version (contact IBM support for that. RTW 8702 is available and 871 should be live around mid october 2015)

    a workaround would be to to downgrade your "build-tools" in android sdk manager to an older version

    Jerome Bozier

    Senior Software engineer

    IBM RTW Mobile - Android