Android 用の C++ ライブラリのクロス コンパイルに成功しました。このライブラリは libxml2 を使用します。jni レイヤーでテストしようとすると、ネイティブ コールが正常に動作するように見えます。しかし、(URL から) xml ファイルを解析することを意味する基本的な呼び出しを行うと、libxml 関数が失敗します。
関数はをxmlTextReaderPtr xmlReaderForFile(const char* filename, const char* encoding, int options)
返しますNULL
。
http url で呼び出すので、ネットワーク アクセスの問題ではないかと思います。
マニフェストにインターネット許可を追加しましたが、結果はありません。
xmlTextReaderPtr xmlNewTextReaderFilename(const char* URI)
が libxml ライブラリで呼び出され、errno
「そのようなファイルまたはディレクトリはありません」に設定されるとすぐにエラーが発生します。私が使用するURLは、ubuntuの「同じ」CPPコードで正常に機能することに注意してください。
誰かがこの問題を解決するのを手伝ってくれることを願っています。
アドバイスありがとうございます。