備忘録 〜プログラミング〜

プログラミングに関する事をつらつらと、、

Android Studioでjniで使用するsoファイルが見つからず、UnsatisfiedLinkErrorが出る問題

ライブラリプロジェクト内で.soを使用していたのですが、android studioではうまくロードが出来ずに、

java.lang.UnsatisfiedLinkError: Couldn't load PQAMakerJNI from loader dalvik.system.PathClassLoader: findLibrary returned null
            at java.lang.Runtime.loadLibrary(Runtime.java:358)
            at java.lang.System.loadLibrary(System.java:526)

エラーが出てしまい、アプリが落ちる問題が起きたのでメモしておきます。
こちらの問題、Eclipseでは、以下のフォルダにsoファイルを入れる事で良かったのですが、

libs/armeabi/libmylibrary.so

android studioの場合、以下の階層に置くと無事読み込まれるようでした。

src/main/jniLibs/armeabi/libmylibrary.so

ライブラリプロジェクト内で使用しているのですが、アプリ本体のsrc/main/jniLibs/armeabi以下に置いています。
Gradleと、Groovyの勉強しないとなあと感じております、、

Include native *.so library in APK with Android Studio | Kyle Thielk