CC、CFALGS LDFLAGS を Android ndk に変更して、Android 用の libxml2-2.90 をクロスコンパイルしました。config と make を実行すると、正常にコンパイルされました。
次に、単純な libxml2 ベースの例をネイティブ c で作成し、上記のライブラリと共有ライブラリをコンパイルするためのインクルードを含む Android.mk ファイルを作成しました。
1.ndk-build スクリプトを使用して、ネイティブ libxml アプリケーションを正常にコンパイルしました
- これら 2 つのライブラリを Android プロジェクト /libs/armeabi に配置しました
次に、これら2つのライブラリをAndroid Javaアプリケーションコードにロードしました
System.loadLibrary("xml2"); //libxml2.so.2.9.0
System.loadLibrary("samplexml2"); //libsamplexml2.so
しかし、アプリケーションを実行すると、Android app に対して以下の実行時エラーが発生しました。
例外 Ljava/lang/UnsatisfiedLinkError; Lcom/example/xmlsample/XmlParse の初期化中にスローされます。
原因: java.lang.UnsatisfiedLinkError: ライブラリをロードできません: link_image[1891]: 37 は、'libsamplexml2.so' に必要なライブラリ'libxml2.so.2'をロードできませんでした (load_library[1093]: ライブラリ 'libxml2.so.2 ' 見つかりません)
Plsはxml2 libを適切にリンクする方法を助けます..