現在、openssl のビルドの問題に直面しています。
私は最初に ndk-build the Guardian プロジェクトでライブラリを構築しlibssl.so
て共有しました。libcrypto.so
2 番目のステップとして、このトピックで説明されているように次の手順を実行して、ライブラリを Android プロジェクトに統合しました。
1)jniフォルダーを作成する
2) この新しいフォルダーに、includes フォルダーを作成し、ヘッダー ファイルを含む openssl フォルダー (openssl パッケージから) をコピーして貼り付けました。
3) libssl.so および libcrypto.so ファイルをコピーしたプリコンパイル済みフォルダーを作成します。
4) Android.mk ファイルを作成します。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
c_includes := $(LOCAL_PATH)
cf_includes := include/openssl
cf_includes := $(addprefix -Ijni/,$(cf_includes))
export_c_includes := $(c_includes)
LOCAL_MODULE := security
LOCAL_SRC_FILES := security.c
LOCAL_CFLAGS += $(cf_includes)
LOCAL_EXPORT_C_INCLUDES := $(export_c_includes)
LOCAL_LDLIBS := -llog
LOCAL_LDLIBS += $(LOCAL_PATH)/precompiled/libssl.so
LOCAL_LDLIBS += $(LOCAL_PATH)/precompiled/libcrypto.so
include $(BUILD_SHARED_LIBRARY)
5) 次に、openssl を初期化する関数を含む security.c というソース ファイルを作成しました。
/* OpenSSL headers */
#include "openssl/bio.h"
#include "openssl/ssl.h"
#include "openssl/err.h"
/* Initializing OpenSSL */
void init_openssl(void){
SSL_load_error_strings();
ERR_load_BIO_strings();
OpenSSL_add_all_algorithms();
}
5) ndk-build を使用して全体をビルドし、libsecurity.so ファイルを取得します。
しかし、このステップでは、コンパイラがヘッダー ファイルを見つけられないようで、次のエラーが発生します。
fatal error: openssl/bio.h: No such file or directory
mk ファイルで何かを見逃していませんか?