erhalte ich den folgenden Stack-Trace, wenn meine Android-Tests auf dem Emulator ausgeführt wird:Warum erhalte ich bei der Ausführung meiner Android-Tests einen ungültigen Zugriffsfehler?
java.lang.NoClassDefFoundError: client.HttpHelper
at client.Helper.<init>(Helper.java:14)
at test.Tests.setUp(Tests.java:15)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:164)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:151)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:425)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1520)
Caused by: java.lang.IllegalAccessError: cross-loader access from pre-verified class
at dalvik.system.DexFile.defineClass(Native Method)
at dalvik.system.DexFile.loadClass(DexFile.java:193)
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:203)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
... 11 more
ich meine Tests von einem zusätzlichen Projekt. Und es scheint einige Probleme beim Laden der Klassen aus dem anderen Projekt zu geben. Ich habe die Tests vorher ausgeführt, aber jetzt scheitern sie. Das zu testende Projekt läuft ohne Probleme.
Zeile 14 der Hilfsklasse ist:
this.httpHelper = new HttpHelper(userProfile);
ich eine HttpHelper Klasse starten, die für die Ausführung httpqueries verantwortlich ist. Ich denke, irgendwie ist diese Helferklasse nicht mehr verfügbar, aber ich habe keine Ahnung warum.
Was ist in Zeile 14 von Helper.java? – RickNotFred
Verwenden Sie externe Bibliotheken in Ihrem Projekt? Wenn dies der Fall ist, kann die Anleitung zu diesem [Artikel] (http://dtmilano.blogspot.com/2009/12/android-testing-external-libraries.html) Ihnen helfen. –
hi, ich habe getan, wie der Artikel sagt, aber es hat immer noch Fehler. Zuerst habe ich ein externes Java-Projekt zur Registerkarte "Projekt" hinzugefügt, dann habe ich es auf der Registerkarte "Bestellung und Export" überprüft. Es hat immer noch diesen Fehler. "Cross-Loader-Zugriff .." in der Zeile mit externen Projekt. (Das externe Projekt befindet sich im selben Arbeitsbereich.) – Emerald214