2012-11-28 13 views
13

Po uruchomieniu mojego kodu UIAutomator dla Androida, wyświetla następujący błąd.Po uruchomieniu mojego kodu UIAutomator z Androidem, pokazuje on błąd

INSTRUMENTATION_RESULT: shortMsg = java.lang.RuntimeException
INSTRUMENTATION_RESULT: longMsg = com.android.ui.testing
INSTRUMENTATION_CODE: 0

prostu prowadził przykładowego kodu podanego w developer.android .com
Jak rozwiązać ten błąd?

Log załączony poniżej:

01-05 01:07:53.559: D/AndroidRuntime(5712): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<< 
01-05 01:07:53.559: D/AndroidRuntime(5712): CheckJNI is ON 
01-05 01:07:53.559: E/AndroidRuntime(5712): cannot open customer xml file 
01-05 01:07:53.559: E/AndroidRuntime(5712): /system/csc/customer.xml can't open file 
01-05 01:07:53.564: D/AndroidRuntime(5712): readGMSProperty: start 
01-05 01:07:53.564: D/AndroidRuntime(5712): readGMSProperty: already setted!! 
01-05 01:07:53.564: D/AndroidRuntime(5712): readGMSProperty: end 
01-05 01:07:53.589: D/dalvikvm(5712): Trying to load lib libjavacore.so 0x0 
01-05 01:07:53.599: D/dalvikvm(5712): Added shared lib libjavacore.so 0x0 
01-05 01:07:53.609: D/dalvikvm(5712): Trying to load lib libnativehelper.so 0x0 
01-05 01:07:53.609: D/dalvikvm(5712): Added shared lib libnativehelper.so 0x0 
01-05 01:07:53.664: I/dalvikvm(5712): Zip is good, but no classes.dex inside, and no valid .odex file in the same directory 
01-05 01:07:53.874: D/dalvikvm(5712): Note: class Landroid/app/ActivityManagerNative; has 152 unimplemented (abstract) methods 
01-05 01:07:53.924: D/AndroidRuntime(5712): Calling main entry com.android.commands.uiautomator.Launcher 
01-05 01:07:53.934: D/AndroidRuntime(5712): Shutting down VM 
01-05 01:07:53.934: W/dalvikvm(5712): threadid=1: thread exiting with uncaught exception (group=0x40ffa2a0) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): uncaught exception 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): java.lang.RuntimeException: com.uia.example.my.LaunchSettings 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at com.android.uiautomator.testrunner.UiAutomatorTestRunner.start(UiAutomatorTestRunner.java:95) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at com.android.uiautomator.testrunner.UiAutomatorTestRunner.run(UiAutomatorTestRunner.java:82) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at com.android.commands.uiautomator.RunTestCommand.run(RunTestCommand.java:76) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at com.android.commands.uiautomator.Launcher.main(Launcher.java:83) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:237) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at dalvik.system.NativeStart.main(Native Method) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): Caused by: java.lang.ClassNotFoundException: com.uia.example.my.LaunchSettings 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at com.android.uiautomator.testrunner.TestCaseCollector.addTestClass(TestCaseCollector.java:83) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at com.android.uiautomator.testrunner.TestCaseCollector.addTestClass(TestCaseCollector.java:71) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at com.android.uiautomator.testrunner.TestCaseCollector.addTestClasses(TestCaseCollector.java:52) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): at com.android.uiautomator.testrunner.UiAutomatorTestRunner.start(UiAutomatorTestRunner.java:92) 
01-05 01:07:53.939: E/UiAutomatorTestRunner(5712): ... 6 more 
01-05 01:07:53.944: I/AndroidRuntime(5712): VM exiting with result code -1. 
+0

Jak to działa? Emulator? Wersja? –

+0

Musisz spojrzeć na dane wyjściowe logcat, aby zrozumieć, że jest to wyjątek java.lang.RuntimeException. Podaj dane wyjściowe dziennika. – Snicolas

+0

Czy kiedykolwiek to rozgryzłeś? Mam ten sam problem i wypróbowałem wszystkie odpowiedzi na tej stronie bez powodzenia. Próbuję użyć eksportu Eclipse, aby utworzyć plik JAR. – onetwopunch

Odpowiedz

1

Sprawdź, czy usunięcie @UiThreadTest adnotacji lub usunięcie runOnUiThread() połączenia lub ponownie faktoringu pracę testów. Ale bez logcat, trudno zrozumieć, skąd pochodzi.

-1

Rozwiązałem ten błąd, używając "kompilacji mrówki", aby utworzyć mój jar. Jeśli używasz eksportu w środowisku Eclipse do utworzenia pliku JAR, w wynikowym pliku klasy mogą pojawić się błędy, stąd powyższy błąd klasy nie został znaleziony.

3

Jeśli masz ClassNotFindException podczas prowadzenia swoich badań uiautomator:

Niektórzy z nas moi dostać ten błąd, ponieważ ich ROM stawia folderu/data/Dalvik-cache w trybie tylko do odczytu. To mi się przydarzyło z Cyanogenem dla S3.

W tego rodzaju przypadku, w bash:

adb shell 
su 
chmod 777 /data/dalvik-cache 
exit 

ponownie przeprowadzić testy i że powinno działać. Ponieważ dalvik-cache jest zablokowany dla aplikacji, uiautomator nie może poprosić Dalvika o rozpakowanie słoika twoich testów, a dalvik nie znajdzie jego klas.

0

Miał ten sam problem. Większość pokazów, jakie widziałem, wskazuje na zainstalowanie słoika na/data/local/tmp /. Widziałem innych, którzy próbują zainstalować tę kartę na karcie SD (/ storage/sdcard0). Po zrobieniu tego zadziałało. Wydaje się być problemem z uprawnieniami do odczytu.

Powiązane problemy