Developer's memo

開発メモ

【Android】【NDK】NDKがjava.lang.UnsatisfiedLinkErrorで動かない

 

サンプルの hello-jni から卒業して、自作のNDKを動かそうとしたところ、

アプリが強制終了してしまった。ddmsには以下のエラー文が。

 

java.lang.UnsatisfiedLinkError:[JNIメソッド名]

 

エラー内容を調べてみると、

「loadLibraryの呼び出し忘れか、指定されたDLLまたはSOファイルが見つからないか、呼び出したいnative関数がDLLやSO内に見つからないか。」

 

loadLibraryは呼んでいるし、.so はたしかにある・・・。

メソッド名は規約に従ったつもり・・・・と思ってたらクラス名抜けてる!!

 

メソッド名規約

"Java_パッケージ名_クラス名_メソッド名"

 

直したら無事動きました。

思い込みは怖い…よく確認しないとダメですね。

 

参考

http://www.ne.jp/asahi/hishidama/home/tech/java/exception.html