Не удается загрузить гибридное приложение в тестовое рабочее место mobilefirst

Итак, я только что создал гибридное приложение HelloWorld с плагином MobileFirst (версия 7.1.0) для Eclipse Luna 4.4.2, которое я хочу затем протестировать с помощью 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, чтобы продолжить мою работу. Есть идеи? Заранее спасибо.

1 ответ

Решение

Это известная проблема, которая появилась в последних версиях build-tools

Короче говоря, RTW использует "dex2jar" и другие утилиты, которые полагаются на Android SDK. если SDK эволюционирует (например, новые инструменты сборки), эти инструменты также должны быть обновлены (они встроены в RTW)

Лучше всего было бы обновить RTW до последней версии, чтобы поддерживать вашу версию SDK (обратитесь в службу поддержки IBM. RTW 8702 доступен, а 871 должен появиться в середине октября 2015 года)

Обходной путь - понизить ваши "инструменты сборки" в Android SDK Manager до более старой версии.

Джером Бозье

Старший инженер-программист

IBM RTW Mobile - Android

Другие вопросы по тегам