2016-06-27 10 views
0

libmylibrary.soという32ビットライブラリを使用するアプリケーションを開発しましたが、system.loadLibrary("mylibrary")を使用するとcannot find library in /system/lib64 or /vendor/lib64と表示されます。私のライブラリは/data/app-lib .. etcには見えません。私のAndroidバージョンは5.1.1です。私は/system/lib64に私のライブラリをコピーしましたが、まだそれはdlopen failed to load 32 bit instaed of 64 bitというエラーメッセージを出しています。貴重な提案をしてください。dlopenは64ビットライブラリの代わりに32ビットをロードできません

答えて

0

それはそれは/system/lib64

でライブラリを見つけることができないと言うアプリケーションがlib64内のライブラリを探している場合、アプリケーションは64ビットアプリケーションであることを高い可能性があります。もしそうなら、は絶対に 32ビットライブラリをロードします。 Linuxの

、あなたはアプリは64ビット、それを開始した後、ロシアの就業cat /proc/$pid/maps

0

おかげかを実行しているかどうかを確認することができ、私は間違いをしました。私は自分のネイティブライブラリを私のアプリケーションのlibsフォルダに追加しました。しかし、パスの依存関係とライブラリを私のアンドロイドのstudio.Afterにビルドするために追加していないので、パスを構築するために追加しました。私は 1つの32ビットライブラリを使用しているので、ロードされて正常に動作しています。

関連する問題