java.lang.IllegalAccessError: il codice di class nella class pre-verificata risolto all'implementazione inattesa ottenendo l'esecuzione del progetto di prova?

Ho implementato il progetto utilizzando la libreria di terze parti (zxing) dopo che il progetto di implementazione funziona bene dopo che ho scritto un progetto di prova per testare il mio progetto. Dopo aver eseguito il progetto di prova, il progetto principale, le classi ei suoi methods non stanno errori, ma se qualsiasi class di framework zxing viene utilizzata all'interno di quel metodo del progetto principale, ottenendo l'errore sopra al tempo di esecuzione non ancora compilare il tempo. Dimmi come risolvere questo problema?

  • Programmazione JNI
  • Intent.ACTION_VIEW video: video di archiviazione esterna "Spiacenti, questo video non può essere riprodotto", ma nel normale player Android è riproducibile
  • Può OpenGL ES rendere le texture di size non base 2?
  • Retrofit - rimuove alcuni caratteri non validi dal corpo di risposta prima di analizzarlo come json
  • Osservazione dell'occhio di OpenCV su Android
  • incapace di sostituire / navigare frammenti
  • Android Saving ha creato il bitmap alla directory sulla scheda SD
  • Che cos'è l'API Equivalente di Camera2 di setDisplayOrientation ()?
  • Come faccio a registrare in un * MEDIA_BUTTON BroadcastReciver * interno * manifesto?
  • Come get l'id dal database in un clic dell'elenco di listview in android
  • Aspettare finché l'attività async finisce il suo lavoro
  • Come fare un ciclo ViewPager?
  • 8 Solutions collect form web for “java.lang.IllegalAccessError: il codice di class nella class pre-verificata risolto all'implementazione inattesa ottenendo l'esecuzione del progetto di prova?”

    Si ottiene questo errore a causa del riferimento di libreria di terze parti aggiunto due volte. Hai aggiunto il path dell'applicazione nel path di creazione del progetto di prova. in modo che il riferimento della libreria venga automaticamente aggiunto al progetto di prova. "Rimuovere qualsiasi riferimento della libreria nel progetto di prova nelle properties;-> android.

    FYI, clicca qui per spiegazioni dettagliate .

    È perché i file jar di zxing vengono caricati due volte, è necessario impostare la libreria zxing come " Provided " (se si sta compilando il codice utilizzando Maven) in tempo di compilazione, in modo da non aggiungere la libreria al bytecode. in questo modo non si otterrebbe l'errore

    Purtroppo, la soluzione migliore che ho visto, è quello di utilizzare uno script con queste righe di codice e utilizzando Espresso v2.0:

    adb shell setprop dalvik.vm.dexopt-flags v=n,o=v adb shell stop installd adb shell start installd 

    Esegui l'esecuzione prima di iniziare a provare. È solo necessario farlo una volta.

    Ho cambiato l'impostazione del progetto di prova in Intelij Idea. Vai a Moduli -> Dipendenze, quindi impostare l'ambito del progetto testato su 'Provided'.

    Deseleziona i vasetti (nel mio caso i mappe e il servizio java di Google Play) dalla scheda "Ordina ed esport" nel path di costruzione di Java di progetto in Eclipse. Ma lasciate che siano aggiunti nella scheda "Librerie". Fai clic su OK, pulisci progetti e crea ora. Funziona.

    Ho avuto questo errore perché stavo lavorando con Guava e Espresso contiene anche Guava.

    Se si utilizza Gradle e Android Studio è ansible escludere i pacchetti dalla dipendenza come questa:

     androidTestCompile('com.jakewharton.express:express:1.1-r3') { exclude group: 'com.google.guava' } 

    Ho questo errore a volte. Proprio il progetto di costruzione mi ha aiutato

    Se non è necessario specificamente un dispositivo con versione a bassa API (<= 19), è ansible lasciare dependencies transitive e creare un emulatore con versione API superiore.

    Ciò accade solo su dispositivi con API inferiore a Lollipop (API 21). I test in esecuzione su emulatori più alti / uguali a API 21 funzionano normalmente, senza problemi.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.