2012-08-11 5 views
0

Android 앱에서 타사 .a 정적 라이브러리를 사용하려고합니다. .a lib는 x86 용으로 제작되었으며 우리는 문제없이 PC 리눅스 박스와 함께 사용했습니다.Android ndk 앱에서 타사 .a 라이브러리 사용

그리고 우리는이 Android.mk 안드로이드에 그것을 사용하려고 :

LOCAL_PATH:= $(call my-dir) 

# first lib, which will be built statically 
# 
include $(CLEAR_VARS) 

LOCAL_MODULE := libtwolib-first 
LOCAL_SRC_FILES := rwl.a 
LOCAL_MODULE_SUFFIX := .a 

include $(PREBUILT_STATIC_LIBRARY) 

# second lib, which will depend on and include the first one 
# 
include $(CLEAR_VARS) 

LOCAL_MODULE := libtwolib-second 
LOCAL_SRC_FILES := second.c 

LOCAL_STATIC_LIBRARIES := libtwolib-first 

include $(BUILD_SHARED_LIBRARY) 

우리는이 오류를 얻을 :

could not read symbols: File in wrong format 

그것을인가를 운영자와 파일은 x86 및 우리와 함께 컴파일되어 있기 때문에 팔을 쌓고 있니?

.a 파일은 유산이며 소스에서 다시 컴파일 할 수없는 경우가 많습니다. 이것이 문제라면 다른 해결책이 있습니까?

감사합니다.

답변

0

타사 라이브러리의 소스를 얻어서 이진 호환이 가능하도록 네이티브 Android NDK로 크로스 컴파일해야합니다.

x86 정적 라이브러리를 Android NDK 빌드 으로 간단히 삭제하면이 작동하지 않습니다.

관련 문제