기존의 C소스들을 arm-linux-androideabi-gcc.exe로 컴파일 해서 libproxy.a라는 파일을 만들었습니다.
그리고 그것을 이용하여 최종 *.so파일을 만들기 위해 ndk-build하는 과정에서 자꾸 오류가 뜹니다..
android.mk화일은 다음과 같습니다.
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := sim-prebuilt
LOCAL_SRC_FILES := libproxy.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := lib-sim
LOCAL_SRC_FILES := sim.c
LOCAL_STATIC_LIBRARIES := sim-prebuilt
LOCAL_LDLIBS := -lz
include $(BUILD_SHARED_LIBRARY)
그리고 오류 내용입니다...
D:/javawork/H263/obj/local/armeabi/libproxy.a: file not recognized: File format
not recognized
collect2: ld returned 1 exit status
make: *** [/cygdrive/d/javawork/H263/obj/local/armeabi/lib-sim.so] Error 1
prebuilt shared library로 만들어서도 해보고 static으로 만들어서 해보아도 계속 파일 포맷을 recognize할수 없다고 나옵니다 ㅠㅠ
혹시 최초의 *.a파일을 만드는 과정에서 arm-linux-androideabi-gcc로 만든것이 잘못 된 것인가요? ㅠㅠ
도와주세요...




아래와 같이 해보세요
(lib 디렉토리에 libproxy.a 파일이 있을 경우)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := lib-sim
LOCAL_SRC_FILES := sim.c
LOCAL_LDLIBS := -lz
LOCAL_LDFLAGS := \
-Llib \
-lproxy
include $(BUILD_SHARED_LIBRARY)