java.lang.IllegalAccessError: Klassenreferenz in der vorverifizierten Klasse wurde in eine unerwartete Implementierung aufgelöst, während das Testprojekt ausgeführt wird?
Habe ich umgesetzt-Projekt durch die Verwendung von Drittanbieter-Bibliothek(zxing) nach der Umsetzung Projekt ist in Ordnung, dann, nachdem ich geschrieben habe ein test-Projekt mit unit-Tests zu meinem Projekt.Nach dem ausführen des test-Projekt ,das zentrale Projekt ,die Klassen und Methoden geben nicht alle Fehler, aber wenn jeder zxing framework-Klasse ist utilyzed in dieser Methode der Haupt-Projekt gibt es immer die oben genannten Fehler zur Laufzeit noch nicht kompilieren.Bitte sagen Sie mir, wie Sie dieses Problem beheben?
InformationsquelleAutor der Frage ADIT | 2012-06-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie diese Fehlermeldung bekommen, weil der Drittanbieter-Bibliothek-Referenz Hinzugefügt zwei mal. Sie haben Hinzugefügt, den Pfad der Anwendung in den build-Pfad von test-Projekt. also die library-Referenz automatisch Hinzugefügt-test-Projekt". Entfernen Sie alle library-Referenz im test-Projekt unter Eigenschaften->android.
FYI,
klicken Sie hier für die detaillierte Erklärung.
InformationsquelleAutor der Antwort Dasari
Es ist, weil zxing jar-Dateien werden zweimal geladen
Sie müssen die zxing Bibliothek als "zur Verfügung Gestellt" (wenn Sie kompilieren Ihren code mit Maven) im compile-Zeit, so dass es nicht fügen Sie die Bibliothek zu Ihrem bytecode. so würden Sie nicht den Fehler
InformationsquelleAutor der Antwort Hossein Shahdoost
Leider die beste Lösung, die ich gesehen habe, es ist ein Skript verwenden, mit diesen code-Zeilen und mit Espresso-v2.0:
Ausführen, bevor Sie beginnen zu testen. Es ist nur notwendig, es zu tun, sobald Zeit.
InformationsquelleAutor der Antwort Jesús A. Castro R.
Änderte ich die test-Projekt-Einstellung in Intelij Idea. Gehen Sie zu Module -> Abhängigkeiten legen Sie dann Anwendungsbereich des zu prüfenden Projekt 'zur Verfügung Gestellt'.
InformationsquelleAutor der Antwort Fedor
Bekam ich diese Fehlermeldung, weil ich arbeiten war mit Guave und Espresso enthält außerdem Guave.
Wenn Sie mit Gradle und Android Studio können Sie ausschließen, Pakete aus der Abhängigkeit wie:
InformationsquelleAutor der Antwort Janusz
Deaktivieren Sie die Gläser (in meinem Fall maps und google-play-services-Glas) von "Order and Export" - Registerkarte Projekt unter Java build path in Eclipse.Aber lassen Sie Sie Hinzugefügt werden, in "Libraries" - tab. Klicken Sie auf OK, Sauber, Projekte und bauen jetzt. Es funktioniert.
InformationsquelleAutor der Antwort user3167973
Ich habe diesen Fehler auch manchmal. Gerade die bauen->clean-Projekt hat mir geholfen,
InformationsquelleAutor der Antwort Volodymyr Machekhin
Wenn Sie nicht speziell brauchen ein Gerät mit niedrigen API-version (<=19), lassen Sie transitiven Abhängigkeiten und erstellen einen emulator mit höheren API-version.
Dies geschieht nur auf Geräten, die API ist niedriger als die Lollipop-API (21). Ausführung von tests auf Emulatoren größer/gleich API-21 wird normal ausgeführt, ohne Probleme.
InformationsquelleAutor der Antwort azizbekian