java.lang.UnsatisfiedLinkError: dbopen

Sto provando a scrivere un test di Android su un block di codice nell'applicazione android. Il block di codice interagirà con il database (funzionalità della libreria di sqlshifter) specificamente dbopen (). Quando si esegue l'applicazione, funziona bene. Quando stavamo cercando di eseguire il caso di prova per quel block di codice (che coinvolge l'interazione di database). Sta dando l'errore seguente: java.lang.UnsatisfiedLinkError: dbopen

Potrebbe esaminare questo e suggerire.

  • Più elenchi di elenchi per each intestazione su BrowseFragment - Libreria di Leanback
  • Retrofit: Gestione di oggetti JSON che modificano dynamicmente il proprio nome
  • submit SMS Intent in Android
  • Come get tutte le visualizzazioni dei bambini in gruppo con ExpandableListView
  • condividere l'image con whatsapp in android
  • Modifica Theme.Dialog per assomigliare a Theme.Light.Dialog in Android
  • Non è ansible che un caso di prova abbia l'autorità di call una function che sta chiamando funzioni di libreria sqlshifter. Qualsiasi authorization necessaria, o Qualsiasi procedura specifica è presente per questo tipo di casi di test?

    log di errore completo:

    04-30 12:08:33.997: I/TestRunner(2169): started: teststateMachine(com.americanlogistics.mdd.rhapsody.view.test.SigninViewsateMachineTest) 04-30 12:08:34.147: W/dalvikvm(2169): No implementation found for native Linfo/guardianproject/database/sqlcipher/SQLiteDatabase;.dbopen (Ljava/lang/String;I)V 04-30 12:08:34.164: I/TestRunner(2169): failed: teststateMachine(com.americanlogistics.mdd.rhapsody.view.test.SigninViewsateMachineTest) 04-30 12:08:34.164: I/TestRunner(2169): ----- begin exception ----- 04-30 12:08:34.184: I/TestRunner(2169): java.lang.UnsatisfiedLinkError: dbopen 04-30 12:08:34.184: I/TestRunner(2169): at info.guardianproject.database.sqlcipher.SQLiteDatabase.dbopen(Native Method) 04-30 12:08:34.184: I/TestRunner(2169): at info.guardianproject.database.sqlcipher.SQLiteDatabase.<init>(SQLiteDatabase.java:1870) 04-30 12:08:34.184: I/TestRunner(2169): at info.guardianproject.database.sqlcipher.SQLiteDatabase.openDatabase(SQLiteDatabase.java:863) 04-30 12:08:34.184: I/TestRunner(2169): at info.guardianproject.database.sqlcipher.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:897) 04-30 12:08:34.184: I/TestRunner(2169): at info.guardianproject.database.sqlcipher.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:107) 04-30 12:08:34.184: I/TestRunner(2169): at com.americanlogistics.mdd.rhapsody.database.SendQueueDBAdapter.open(SendQueueDBAdapter.java:45) 04-30 12:08:34.184: I/TestRunner(2169): at com.americanlogistics.mdd.rhapsody.database.SendQueueDBAdapter.databaseHelperInstance(SendQueueDBAdapter.java:38) 04-30 12:08:34.184: I/TestRunner(2169): at com.americanlogistics.mdd.rhapsody.common.ApplicationController.startDatabase(ApplicationController.java:530) 04-30 12:08:34.184: I/TestRunner(2169): at com.americanlogistics.mdd.rhapsody.view.test.SigninViewsateMachineTest.teststateMachine(SigninViewsateMachineTest.java:61) 04-30 12:08:34.184: I/TestRunner(2169): at java.lang.reflect.Method.invokeNative(Native Method) 04-30 12:08:34.184: I/TestRunner(2169): at java.lang.reflect.Method.invoke(Method.java:507) 04-30 12:08:34.184: I/TestRunner(2169): at junit.framework.TestCase.runTest(TestCase.java:154) 04-30 12:08:34.184: I/TestRunner(2169): at junit.framework.TestCase.runBare(TestCase.java:127) 04-30 12:08:34.184: I/TestRunner(2169): at junit.framework.TestResult$1.protect(TestResult.java:106) 04-30 12:08:34.184: I/TestRunner(2169): at junit.framework.TestResult.runProtected(TestResult.java:124) 04-30 12:08:34.184: I/TestRunner(2169): at junit.framework.TestResult.run(TestResult.java:109) 04-30 12:08:34.184: I/TestRunner(2169): at junit.framework.TestCase.run(TestCase.java:118) 04-30 12:08:34.184: I/TestRunner(2169): at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) 04-30 12:08:34.184: I/TestRunner(2169): at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) 04-30 12:08:34.184: I/TestRunner(2169): at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529) 04-30 12:08:34.184: I/TestRunner(2169): at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448) 04-30 12:08:34.184: I/TestRunner(2169): ----- end exception ----- 

    Codice:

    La row sottostante nel caso di prova è indirettamente chiamata function di libreria sqlshifter.

    . ApplicationController.getInstance () startDatabase (this.getContext () getApplicationContext ().);

  • Utilizza retrofit per scaricare il file image
  • Imansible utilizzare l'authorization publish_stream - Facebook SDK per Android 3.0
  • Riferimento non definito alla function in libreria statica con NDK
  • Come installare il pacchetto / strumento Android 2.0 di CMake?
  • Come fare Android 1.1 call generateDebugTestSources invece di assembembleDebugTest durante l'istruzione "Make"?
  • SecurityException quando si tenta di aggiungere un account
  • 3 Solutions collect form web for “java.lang.UnsatisfiedLinkError: dbopen”

     No implementation found for native Linfo/guardianproject/database/sqlcipher/SQLiteDatabase;.dbopen (Ljava/lang/String;I)V 

    Sembra che il codice sia incompatibile con la versione in esecuzione. Assicurarsi che siano compatibili.

    Ho riscontrato lo stesso errore durante l'intergrazione di SQLCipher per Android. La soluzione per me era call

     SQLiteDatabase.loadLibs(Context context) 

    prima di lavorare con il database stesso, come raccomandato. Un buon posto da call che è nella class derivata dell'applicazione.

    Vedere le istruzioni qui

    http://www.coderanch.com/t/79145/Websphere/Native-lib-already-loaded-another

    Questo errore di "insoddisfazione" potrebbe essere dovuto al fatto che una class è stata caricata, ma con il classloader errato nella gerarchia dei classloader di runtime.

    La consapevolezza è che il pacchetto Sqllite sia presente e nel Classpath, ma nello scenario in cui eseguono i test, l'istanza loader errata ha caricato i pacchetti DB.

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