私はゲームを書いていて、巨大なネイティブ ライブラリを持っています。次のようなメイン アクティビティでネイティブ ライブラリをロードしようとしています。
static {
try {
System.loadLibrary("mylib");
} catch (UnsatisfiedLinkError e) {
Log.d(TAG, "Unsatisfied Link error: " + e.toString());
}
}
このコードを社内の多くのデバイスでテストしましたが、このエラーは発生しません。しかし、公開したものから、「Caused by: java.lang.UnsatisfiedLinkError: Cannot load library」というログを取得します。注: このクラッシュは普遍的なものではありません。このクラッシュを経験している人はごくわずかです。
- エクスポートされた apk にライブラリを配置する場所に問題はありますか? /libs/armabi/libmylib.so に eclipse によってライブラリが自動的に配置されましたか?
- Androidのバージョンと関係がありますか?2.3 (API レベル 9) 以降の Android バージョンをサポートしています。
- または、別の場所からライブラリをロードする必要がありますか?
- または私は何か非常に重要なものを見逃していますか
- アプリ全体が SDCARD にインストールされていることに問題はありますか?
クラッシュに関する詳細情報: load_segments: 68 failed to map segment from mylib.so