Не удается загрузить гибридное приложение в тестовое рабочее место 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