Я пытаюсь создать тесты графического интерфейса для своего приложения с помощью предоставленных инструментов из android-sdk для моего приложения. Для начала я настроил проект, как описано в http://developer.android.com/tools/testing/testing_ui.html в разделе "Настройка среды разработки". В настоящее время я взял пример теста с http://developer.android.com/tools/testing/testing_ui.html#sample и поместите его в проект UITestsMyAppBasis, в пакет com.MyApp.guitest.
команда ant build выполняется успешно, и я получаю файл jar в каталоге bin моего проекта. Но когда я пытаюсь запустить его через:
adb push ./UiTestsMyAppBasis.jar /data/local/tmp
adb shell uiautomator runtest UITestsMyAppBasis.jar -c com.MyApp.guitest
я получаю вывод консоли:
INSTRUMENTATION_RESULT: shortMsg=java.lang.RuntimeException
INSTRUMENTATION_RESULT: longMsg=com.MyApp.guitest
INSTRUMENTATION_CODE: 0
и вывод логарифма:
java.lang.RuntimeException: com.MyApp.guitest
at com.android.uiautomator.testrunner.UiAutomatorTestRunner.start(UiAutomatorTestRunner.java:98)
at com.android.uiautomator.testrunner.UiAutomatorTestRunner.run(UiAutomatorTestRunner.java:85)
at com.android.commands.uiautomator.RunTestCommand.run(RunTestCommand.java:76)
at com.android.commands.uiautomator.Launcher.main(Launcher.java:83)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.MyApp.guitest
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at com.android.uiautomator.testrunner.TestCaseCollector.addTestClass(TestCaseCollector.java:84)
at com.android.uiautomator.testrunner.TestCaseCollector.addTestClass(TestCaseCollector.java:72)
at com.android.uiautomator.testrunner.TestCaseCollector.addTestClasses(TestCaseCollector.java:53)
at com.android.uiautomator.testrunner.UiAutomatorTestRunner.start(UiAutomatorTestRunner.java:95)
я использую эмулятор андроида с
TargetName: API Google (Google Inc.)
Платформа: 4.1.2
Уровень API: 16
ЦП/ABI ARM (armeabi-v7a)
Устройство: 10,1-дюймовый WXGA (планшет) (1280x800; mdpi)
Параметры памяти: Ram: 512 VM Heap: 32
Внутренняя память: 200 МБ
SD-карта: 256 МБ
Параметры эмуляции: использовать хост-графический процессор
Установка chmod в /data/dalvik-cache, как описано в https://stackoverflow.com/a/13805869/1171328. вывод не изменился.