私はすぐに私の問題を明らかにします。curl を Android に移植し、アプリ内で使用しようとしています。ARM ツールチェーンを使用して curl ライブラリを構築し、構成して作成しました (最初に何も問題がなかったことを確認するために数回行いました)。
次に、次の Android.mk が含まれている限り、新しく作成した libcurl.a と curljni.c を jni フォルダーに配置しました。
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:= libcurl
LOCAL_SRC_FILES := libcurl.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include/curl
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := curljni
LOCAL_SRC_FILES := curljni.c
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include/curl
LOCAL_STATIC_LIBRARIES := libcurl
include $(BUILD_SHARED_LIBRARY)
私は多くのことを試してきましたが、今では見栄えが良いと確信していますが、ndk-build ツールを使用してビルドしようとすると、次のようになります。
注 : curljni.c は、libcurl ライブラリとその easy.h および curl.h ファイル内の関数を呼び出します。それらはファイルの先頭に含まれます。
また、LOCAL_STATIC_LIBRARIES の代わりに LOCAL_WHOLE_STATIC_LIBRARIES を使用して、ライブラリ全体を Android アプリにロードするように要求しようとしましたが、それ以上の成功はありませんでした。
以前 :
- ダウンロードしたcurl.7.28.0
- ARM 4.6 用のスタンドアロン ツールチェーンを作成
- 改行が DOS のようで、Unix のように必要な curl 内のいくつかのファイルを修正しました (configure のバグ) - そのうちの 1 つは libcurl_la-file.lo にリンクされた depcomp でした
- ./configure --host=arm-linux-androidaebi --with-zlib --enable-ipv6
- メイク/メイクインストール
- 結果の libcurl.a を curl\lib.libs から追加しました