私のAndroidプロジェクトは、EclipseとADTを使用して2、3年続いています。プロジェクトがコンパイルされ、静的にlibxml2のリンク後、3つのプリコンパイル静的ライブラリ(カール、SSL、および暗号化)を利用して、Android.mkから関連する行は以下の通りです。私は今のAndroidへの切り替えてるAndroid StudioとGradleでlibxml2をNDKに構築する実験的
LOCAL_MODULE := my_shim
LOCAL_SRC_FILES := $(LOCAL_FILE_LIST:$(LOCAL_PATH)/%=%)
LOCAL_CFLAGS := -DCURL_DISABLE_TYPECHECK
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog -lz
LOCAL_SHARED_LIBRARIES :=
LOCAL_STATIC_LIBRARIES += xml2 curl ssl crypto
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../c_module
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../libxml2/include
include $(BUILD_SHARED_LIBRARY)
include $(APP_LOCAL_PATH)/../../libxml2/Android.mk
Studio 2ではGradle Experimentalを使用していましたが、Gradleの設定を正しく行うには問題があります。私はlogとz、そして静的にコンパイルされたcurl、ssl、およびcryptoライブラリの依存関係を整理することができたと思いますが、libxml2モジュールをビルドして静的にリンクする方法を理解できません。
手がかりはありますか?これはこれまで私が持っているものです:
model {
android {
...
}
android.ndk {
moduleName "my_shim"
platformVersion 19
abiFilters.addAll(["armeabi", "x86"])
CFlags.add("-DCURL_DISABLE_TYPECHECK")
ldLibs.addAll(["log", "z"])
stl "stlport_static"
}
android.sources {
main {
jni {
dependencies {
library "crypto" linkage "static"
library "curl" linkage "static"
library "ssl" linkage "static"
library "xml2" linkage "static"
}
}
}
}
repositories {
libs(PrebuiltLibraries) {
crypto {
binaries.withType(StaticLibraryBinary) {
def cryptoLibPath = "src/main/jni/includes/${targetPlatform.getName()}/libcrypto.a"
staticLibraryFile = file("${cryptoLibPath}")
}
}
}
libs(PrebuiltLibraries) {
curl {
binaries.withType(StaticLibraryBinary) {
def curlLibPath = "src/main/jni/includes/${targetPlatform.getName()}/libcurl.a"
staticLibraryFile = file("${curlLibPath}")
}
}
}
libs(PrebuiltLibraries) {
ssl {
binaries.withType(StaticLibraryBinary) {
def sslLibPath = "src/main/jni/includes/${targetPlatform.getName()}/libssl.a"
staticLibraryFile = file("${sslLibPath}")
}
}
}
}
}
を説明していますあなたは** **ハロー-libsのでGoogleからのサンプルを見たことがありますか? https://github.com/googlesamples/android-ndk/tree/master/hello-libs。彼らはこの設定をうまく説明しています。 –
ありがとう@IgorGanapolsky - そのプロジェクトは確かに私が見た他のものよりも多くの例を提供します。 –