Androidアプリケーション向けに最新のOpenSSL(1.0.0g)をビルドする必要があります。私はhttps://github.com/fries/android-external-opensslで与えられた例に従おうとしていますが、それを構築することはできません。Windows/Cygwin上のAndroid NDK用外部OpenSSLライブラリを構築できません
私はWindows 7 Professional(64-bit)を実行していて、最新かつ完全なCygwinを使用しています。私はAndroid SDKとNDKをインストールしており、NDKのhello-jniサンプルアプリケーションを構築して実行することができます。
私はhello-opensslという新しいサンプルNDKアプリケーションを作成しました。 jniディレクトリには、opensslというディレクトリが作成されています。そこに、私はCの下で私にこのツリー構造を与えたhttps://github.com/fries/android-external-openssl/zipball/masterを、解凍:アンドロイド\アンドロイド - NDK \サンプル\ \ハロー-opensslの:
jni
+- openssl
+- apps
+- crypto
+- include
+- openssl
+- ssl
私は、JNIにAndroid.mkファイルを修正しましたOpenSSLのファイルをインクルードするための試みでディレクトリ:
subdirs := $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \
openssl \
))
include $(subdirs)
は、私はNDKビルドを実行したときに今、それはいくつかの.cファイルをコンパイルしたが、その後すぐに失敗します。
Compile thumb : crypto <= cryptlib.c
In file included from jni/openssl/crypto/cryptlib.c:117:
jni/openssl/crypto/cryptlib.h:65:18: error: e_os.h: No such file or directory
jni/openssl/crypto/cryptlib.h:72:28: error: openssl/crypto.h: No such file or directory
は、私は私が暗号/ Android.mkで、私は、私はこれを達成するために使用する構文を把握することはできません「 JNIとJNI /上記LOCAL_C_INCLUDESに含まを追加」するように指示され、http://osdir.com/ml/android-ndk/2010-07/msg00424.htmlを発見しました。
私は正しいディレクトリ構造を持っていることもわかりません。
私は心から歓迎します。
ありがとうございます!
SystemLoadLibrary( "cryptox")とSystem.loadLibraryを( "SSLX")を呼び出して、私はあなたがやったと同じことをやろうとしている、私は、opensslの-アンドロイド使用これらのライブラリを使って.cファイルを書き、jniフォルダに入れ、Android.mkファイルを書いて、私も2つの共有ファイルを使用していることを伝えますライブラリはすべてうまくコンパイルされますが、実行時にUnsatisfiedLinkErrorでクラッシュすると、話すことができれば素晴らしいことになります。 – onizukaek