2016-10-07 11 views
1

実行可能ファイル(ndk r10eとndk r12bの両方でコンパイルされた)を生成するアンドロイドのネイティブプロジェクトを作成しています。それを開くことができないこと:明らかdlopenが失敗しました:ライブラリ "libtest.so"が見つかりません

dlopen failed: library "libtest.so" not found 

「/my/system/path/libtest.so」が存在し、右の権限(例えば666)を持っています。

これは自分のデバイスの1つにしか見えません。私は10台以上のデバイスでテストしており、完全に動作するようです。

このエラーがなぜ発生するのかわかりません。

私を助けてください。

+0

libtest.soは/ system/libディレクトリにあると思いますよね?あなたのデバイスについてもっと教えてください。 AFAIK Android 6.0では、非標準のシステムライブラリをアプリで使用することはできません。 – jereksel

+0

申し訳ありません/ my/system/path /は/ system/libではなく、/ data/local/tempなどの汎用パスまたは別のパスです。デバイスは根っからのAndroid 5.1.1 – mrpep

+0

あなたはライブラリへの絶対パス、または名前だけをローカルディレクトリで見つけることを期待して 'dlopen'を呼び出していますか? –

答えて

0

おそらく、起こっていることを正確に解決する最も簡単な方法は、straceを使用することです。これは、あなたのlibtest.soを探す場所と、それが見つからない理由を示します。アンドロイドでstraceを使用する方法については、this answerを参照してください。

関連する問題