2011-10-12 2 views
2

私はこのプロジェクトを使用してコンパイルしたlibcrypto.aと静的にリンクするNDKをAndroid用JNIライブラリとしてコンパイルしました。https://github.com/fries/android-external-opensslはlibdl.so。dlopenできません、アンドロイド2.1でライブラリを読み込めませんが、2.2以上で可能

:NDKsプラットフォーム/アンドロイド-X /アーチアームは/ usr/libディレクトリは、AndroidのすべてのバージョンIは、Android 2.1で、私のライブラリをロードしようとすると、私は次のエラーを取得するためのlibdl.soを持っているにもかかわらず

Trying to load lib /data/data/package.name/lib/libmylibrary.so 0x44e83a28 
Unable to dlopen(/data/data/package.name/lib/libmylibrary.so): Cannot load library: reloc_library[1244]: 30 cannot locate 'dladdr'... 
、その後はないUnsatisfiedLinkErrorでクラッシュに進みますが、2.2以降の私のネイティブライブラリリンク上で、完全に

私に起こっまたはどのようにそれを修正することです何上の任意の考えを作品?この問題に見ながらだから私は(libdlはアンドロイドdladdrのすべてのバージョンに存在している間ことを発見した

答えて

2

)は次のようにNDKのchanges.htmlの関連線である2.2

にCライブラリに追加されました。

- C Library changes: 

For android-8 (a.k.a. Android 2.2): 
    - add DL_info and dladdr(). 
+0

これをどのように解決しましたか?これは2.2+を使用しているのでしょうか? – jgoldberg

+0

はい私はちょうど2.2+ –

関連する問題