ネイティブライブラリのロード時に注意すること
例えば、libtest.soをロードしたい時、
System.loadLibrary("test");
とするのが一般的だが、もし/system/libと/data/data/(パッケージ名)/libとの両方に同じ名前のlibtest.soが存在したとき、/system/libが優先になり(機種依存?)、本来パッケージ内のlibを読み出したかったのに予期しないエラーに見舞われることがある。
そこで、以下のようにすると絶対パス指定ができ、想定外のライブラリがロードされることはなくなる
System.load("/data/data/(パッケージ名)/lib/libtest.so");