Linux x86에서 빌드 된 공유 라이브러리를 libA.so라고 부르겠습니다.이 라이브러리 SDK에서 제공하는 함수 호출을 사용하고 싶습니다.Android NDK : x86 공유 라이브러리 연결
나는 문제의 건물을 갖는 몇 가지 질문이 있어요 :
1) 나는 x86 용 구축 할 수있을 것입니다,하지만 나는 암에 대한 구축 할 수있을 것인가? 예를 들어 Nexus 5에서 실행할 수 없다는 의미의 대답은 '아니오'라고 생각합니다. 2) ndk-build는 LOCAL_SHARED_LIBRARIES에 의해 해결되어야하는 #include에 대해 불평합니다. 왜 그런지 모르겠습니다. 내 Android.mk는 다음과 같습니다.
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := B
LOCAL_SRC_FILES := B.cpp
LOCAL_SHARED_LIBRARIES := A
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
누군가가 내 Android.mk를 해결할 수 있도록 도와 줄 수 있습니까? B.cpp의 내 include 문에 대해 왜 불평하는지 이해할 수 없습니다. 팔 환경에서 B를 실행할 수 있는지 알려주십시오. 의존하고있는 SDK는 x86 기반입니다.
당신이 점점 오류를 게시 할 수 : 제대로 안드로이드 목표를 위해 안드로이드 공유 라이브러리를 컴파일 할 수 있다면
그런 다음, 당신은 당신의 라이브러리에이 방법을 포함 할 것, 두 번째 문제를 해결하기 위해? 또한, 당신은 분명히 할 수 있습니다 : libA.so의 바이너리 버전 만 x86 용으로 컴파일되고 libA.so 용 소스 코드가 없으며 libA.so에서 함수를 호출하는 자신의 B.cpp에 코드가 있어야합니다. ? –
네, 맞습니다! – Jary316