SQLcipher+Andengineで開発しているとたまにリンクがおかしくなる問題の解決方法を過去記事で紹介しましたが、今回は別の問題だったようです。
今回は、何度試しても下記のエラーで落ちます。
stlport_sharedが無いと言っている模様。なんですかそれは。/vendor/lib, /system/libとか、どう考えてもアプリ側じゃないぜよ。
11-07 16:15:23.926: E/AndroidRuntime(13996): FATAL EXCEPTION: main 11-07 16:15:23.926: E/AndroidRuntime(13996): java.lang.UnsatisfiedLinkError: Couldn't load stlport_shared from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.tsukamall.musou-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.tsukamall.musou-1, /vendor/lib, /system/lib]]]: findLibrary returned null 11-07 16:15:23.926: E/AndroidRuntime(13996): at java.lang.Runtime.loadLibrary(Runtime.java:355) 11-07 16:15:23.926: E/AndroidRuntime(13996): at java.lang.System.loadLibrary(System.java:525) 11-07 16:15:23.926: E/AndroidRuntime(13996): at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:142) 11-07 16:15:23.926: E/AndroidRuntime(13996): at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:137) 11-07 16:15:23.926: E/AndroidRuntime(13996): at com.tsukamall.db.DBHelperSave.getInstance(DBHelperSave.java:198) 11-07 16:15:23.926: E/AndroidRuntime(13996): at com.tsukamall.musou.ActivityTitle.onCreate(ActivityTitle.java:41) 11-07 16:15:23.926: E/AndroidRuntime(13996): at android.app.Activity.performCreate(Activity.java:5133) 11-07 16:15:23.926: E/AndroidRuntime(13996): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 11-07 16:15:23.926: E/AndroidRuntime(13996): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 11-07 16:15:23.926: E/AndroidRuntime(13996): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 11-07 16:15:23.926: E/AndroidRuntime(13996): at android.app.ActivityThread.access$600(ActivityThread.java:141) 11-07 16:15:23.926: E/AndroidRuntime(13996): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 11-07 16:15:23.926: E/AndroidRuntime(13996): at android.os.Handler.dispatchMessage(Handler.java:99) 11-07 16:15:23.926: E/AndroidRuntime(13996): at android.os.Looper.loop(Looper.java:137) 11-07 16:15:23.926: E/AndroidRuntime(13996): at android.app.ActivityThread.main(ActivityThread.java:5103) 11-07 16:15:23.926: E/AndroidRuntime(13996): at java.lang.reflect.Method.invokeNative(Native Method) 11-07 16:15:23.926: E/AndroidRuntime(13996): at java.lang.reflect.Method.invoke(Method.java:525) 11-07 16:15:23.926: E/AndroidRuntime(13996): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 11-07 16:15:23.926: E/AndroidRuntime(13996): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 11-07 16:15:23.926: E/AndroidRuntime(13996): at dalvik.system.NativeStart.main(Native Method)
解決方法
1.ここからNDKを落としてくる
2.【android-ndk-r9b\sources\cxx-stl\stlport\libs\armeabi-v7a】にある、【libstlport_shared.so】を、プロジェクト名\libs\armeabi-v7a(なければ作成する) へ、コピペ。
これで解決しました。SQLchiperのlibsにarmeabi-v7aのフォルダが無かったのが盲点でした。結構時間持って行かれた・・・。