Es ist ein Block von Code, der auf Android 4.1.2 funktioniert prima, aber nicht auf 4.0.3 ist das Crash-Protokoll von 4.0.3UnsatisfiedLinkError (Mutter Methode nicht gefunden)
Ich erhalte UnsatisfiedLinkError Ausnahme
Bitte leite mich dank
02-22 12:57:09.319: D/dalvikvm(1312): Trying to load lib /data/data/com.kosh.android/lib/libsqliteX.so 0x41056f48
02-22 12:57:09.319: D/dalvikvm(1312): Added shared lib /data/data/com.kosh.android/lib/libsqliteX.so 0x41056f48
02-22 12:58:02.060: W/dalvikvm(1312): No implementation found for native Lcom/shabdkosh/android/sqlite/CursorWindow;.native_init (Z)V
02-22 12:58:07.624: D/AndroidRuntime(1312): Shutting down VM
02-22 12:58:07.624: W/dalvikvm(1312): threadid=1: thread exiting with uncaught exception (group=0x409961f8)
02-22 12:58:07.767: E/AndroidRuntime(1312): FATAL EXCEPTION: main
02-22 12:58:07.767: E/AndroidRuntime(1312): java.lang.UnsatisfiedLinkError: native_init
02-22 12:58:07.767: E/AndroidRuntime(1312): at com.kosh.android.sqlite.CursorWindow.native_init(Native Method)
02-22 12:58:07.767: E/AndroidRuntime(1312): at com.kosh.android.sqlite.CursorWindow.<init>(CursorWindow.java:35)
02-22 12:58:07.767: E/AndroidRuntime(1312): at org.sqlite.database.sqlite.SQLiteCursor.awc_clearOrCreateWindow(SQLiteCursor.java:139)
02-22 12:58:07.767: E/AndroidRuntime(1312): at org.sqlite.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:150)
02-22 12:58:07.767: E/AndroidRuntime(1312): at org.sqlite.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:125)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:158)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.database.AbstractCursor.moveToFirst(AbstractCursor.java:235)
02-22 12:58:07.767: E/AndroidRuntime(1312): at com.kosh.android.offline.Handler.newdb1_index0_list(Handler.java:99)
02-22 12:58:07.767: E/AndroidRuntime(1312): at com.kosh.android.offline.SearchDataDB.getAutoSuggestion(SearchDataDB.java:29)
02-22 12:58:07.767: E/AndroidRuntime(1312): at com.kosh.android.MainActivity.onQueryTextChange(MainActivity.java:885)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.widget.SearchView.onTextChanged(SearchView.java:1081)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.widget.SearchView.access$1900(SearchView.java:90)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.widget.SearchView$10.onTextChanged(SearchView.java:1536)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.widget.TextView.sendOnTextChanged(TextView.java:7577)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.widget.TextView.handleTextChanged(TextView.java:7617)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:7990)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.text.SpannableStringBuilder.sendTextChange(SpannableStringBuilder.java:881)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:352)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:266)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:443)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:420)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:29)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.text.method.QwertyKeyListener.onKeyDown(QwertyKeyListener.java:218)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.text.method.TextKeyListener.onKeyDown(TextKeyListener.java:132)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.widget.TextView.doKeyDown(TextView.java:5386)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.widget.TextView.onKeyDown(TextView.java:5206)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.widget.AutoCompleteTextView.onKeyDown(AutoCompleteTextView.java:682)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.view.KeyEvent.dispatch(KeyEvent.java:2533)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.view.View.dispatchKeyEvent(View.java:5446)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1248)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1248)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1248)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1248)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1248)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1248)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1248)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1248)
02-22 12:58:07.767: E/AndroidRuntime(1312): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1859)
02-22 12:58:07.767: E/AndroidRuntime(1312): at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1361)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.app.Activity.dispatchKeyEvent(Activity.java:2324)
02-22 12:58:07.767: E/AndroidRuntime(1312): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1806)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3300)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.view.ViewRootImpl.handleFinishedEvent(ViewRootImpl.java:3273)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2436)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.os.Handler.dispatchMessage(Handler.java:99)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.os.Looper.loop(Looper.java:137)
02-22 12:58:07.767: E/AndroidRuntime(1312): at android.app.ActivityThread.main(ActivityThread.java:4340)
02-22 12:58:07.767: E/AndroidRuntime(1312): at java.lang.reflect.Method.invokeNative(Native Method)
02-22 12:58:07.767: E/AndroidRuntime(1312): at java.lang.reflect.Method.invoke(Method.java:511)
02-22 12:58:07.767: E/AndroidRuntime(1312): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
02-22 12:58:07.767: E/AndroidRuntime(1312): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
02-22 12:58:07.767: E/AndroidRuntime(1312): at dalvik.system.NativeStart.main(Native Method)
HIER meine Klasse
Hier ist die Source-CPP-Dateien aus, wo ich zusammengestellt und schuf die binäre "libsqliteX.so" Datei http://www.sqlite.org/android/tree?ci=trunk&re=jni|src/org/sqlite/data&expand
meine .so Datei https://www.dropbox.com/s/d0u5pyhke54tcd6/libsqliteX.so
Hier ist CDT GLOBAL BUILD KONSOLE
**** Build of configuration Default for project CustomSqlite ****
D:\software\adt-bundle-windows-x86-20130522\adt-bundle-windows-x86-20130522\android-ndk-r9-windows-x86\android-ndk-r9\ndk-build.cmd all
"Compile++ thumb : sqliteX <= android_database_SQLiteCommon.cpp
"Compile++ thumb : sqliteX <= android_database_SQLiteConnection.cpp
"Compile++ thumb : sqliteX <= android_database_SQLiteGlobal.cpp
"Compile++ thumb : sqliteX <= android_database_SQLiteDebug.cpp
"Compile++ thumb : sqliteX <= JNIHelp.cpp
"Compile++ thumb : sqliteX <= JniConstants.cpp
"Compile thumb : sqliteX <= sqlite3.c
SharedLibrary : libsqliteX.so
Install : libsqliteX.so => libs/armeabi/libsqliteX.so
**** Build Finished ****
**** Build of configuration Default for project CustomSqlite ****
D:\software\adt-bundle-windows-x86-20130522\adt-bundle-windows-x86-20130522\android-ndk-r9-windows-x86\android-ndk-r9\ndk-build.cmd all
Install : libsqliteX.so => libs/armeabi/libsqliteX.so
**** Build Finished ****
Diese Zeile erzeugt das Problem
native_init(localWindow);
pls betrachtet diese
Was/Wo im falsch machen und wie dieses Problem zu überwinden ich mit diesem steckte ab 3 Tagen
Dank
Bearbeiten Sie die Frage mit den C-Deklarationen/Definitionen (H und C). Drop nicht verwandten Java-Code (die nicht nativen Teile) – manuell
@manuell Dieses Projekt funktioniert gut auf Android 4.1.2, aber nicht auf 4.0.3, ist das Crash-Protokoll von 4.0.3 nur Dank – Gattsu