는 내가 뭘하려고 간단합니다 - 빌드 된 라이브러리가 포함되어 있습니다. 그러나 그것은 전혀하려면 openssl 라이브러리를 포함하지 않는,안드로이드 NDK는 :</p> <p>나는 안드로이드를위한 OpenSSL을 컴파일하고 난 OpenSSL을 사전에 정적 라이브러리로 구축하려는 일부 사용자 지정 코드를 : 다른 정적 라이브러리와 정적 라이브러리를 구축
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := a-ssl
LOCAL_SRC_FILES := {PATH_TO_PROJECT}/vendor/android-openssl/prebuilt/$(TARGET_ARCH_ABI)/libcrypto.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := a-crypto
LOCAL_SRC_FILES := {PATH_TO_PROJECT}/vendor/android-openssl/prebuilt/$(TARGET_ARCH_ABI)/libssl.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_STATIC_LIBRARIES := a-ssl a-crypto
LOCAL_C_INCLUDES += {PATH_TO_PROJECT}/vendor/android-openssl/openssl/include
LOCAL_MODULE := project-alib
LOCAL_SRC_FILES := ../../source.c
include $(BUILD_STATIC_LIBRARY)
지금이 작품 : 이 내가 설정 내 Android.mk 파일이 방법이다. $(BUILD_STATIC_LIBRARY
을 $(BUILD_SHARED_LIBRARY)
으로 변경하면 모든 것이 해당 공유 라이브러리에 올바르게 결합 된 것처럼 보입니다.
하지만 내 프로젝트 사양이 무엇인지는 알 수 없습니다.
아마도 나는 완전히 잘못된 것을하고 있습니까?
솔루션 편집은
실제로 가능한 해결책을 발견했다. 단순히 정적 라이브러리를 구축 할 때 정적 라이브러리를 추가하고 실제 안드로이드 래퍼과 같이 구축 될 때 추가하지 않습니다
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := project-alib
LOCAL_SRC_FILES := {PATH_TO_PROJECT}/project-alib/$(TARGET_ARCH_ABI)/libproject-alib.a
LOCAL_EXPORT_C_INCLUDES := ../../includes
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := a-crypto
LOCAL_SRC_FILES := {PATH_TO_PROJECT}/vendor/android-openssl/prebuilt/$(TARGET_ARCH_ABI)/libcrypto.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := a-ssl
LOCAL_SRC_FILES := {PATH_TO_PROJECT}/vendor/android-openssl/prebuilt/$(TARGET_ARCH_ABI)/libssl.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := project-alib-wrapper
LOCAL_C_INCLUDES += {PATH_TO_PROJECT}/includes
LOCAL_SRC_FILES := wrapper.c
LOCAL_STATIC_LIBRARIES := project-alib a-ssl a-crypto
include $(BUILD_SHARED_LIBRARY)
을 그리고 그것은 작동합니다. 다른 정적 라이브러리를 사용하여 정적 라이브러리를 쉽게 작성해야한다는 동일한 잘못된 가정을 한 사람이라면이 질문을 찾을 수 있기를 바랍니다.
올바른 : NDK 빌드는 (아직) 지원을 병합하지 않는 정적 라이브러리를. 계속해서 답을 실제 답변으로 남겨두고 올바른 것으로 표시하십시오. 그것은 할만한 일입니다. –