i m trying to build shared library named "libbestv.so" by "ndk-build" this library uses functions from prebuilt shared library "libbcti.so" and "libbcti.a" i have tried 2 methods to build it but both are failed. call for help
first. my Android.mk file likes this: LOCAL_PATH:= $(call my-dir) ############################################################## include $(CLEAR_VARS) LOCAL_MODULE := static-lib LOCAL_SRC_FILES := libstaticbcti.a LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/ include $(PREBUILT_STATIC_LIBRARY) ############################################################## include $(CLEAR_VARS) LOCAL_MODULE := shared-lib LOCAL_SRC_FILES := libsharedbcti.so LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/ include $(PREBUILT_SHARED_LIBRARY) ############################################################## include $(CLEAR_VARS) LOCAL_MODULE := libbestv LOCAL_SRC_FILES := bcti_jni.c LOCAL_STATIC_LIBRARY := static-lib LOCAL_SHARED_LIBRARY := shared-lib include $(BUILD_SHARED_LIBRARY) ############################################################## the console displayed "undefined reference" error like this: /home/apt/workspace/BCTI/obj/local/armeabi/objs/bestv/bcti_jni.o: In function `Java_com_example_hellojni_HelloJni_bcti_open': /home/apt/workspace/BCTI/jni/bcti_jni.c:2066: undefined reference to `bcti_open' /home/apt/workspace/BCTI/jni/bcti_jni.c:2070: undefined reference to `bcti_getresult' /home/apt/workspace/BCTI/jni/bcti_jni.c:2181: undefined reference to `bcti_freeresult' ------------------------------------------------------------------------------------------------------------ second. my Android.mk file likes this: LOCAL_PATH:= $(call my-dir) ############################################################## include $(CLEAR_VARS) LOCAL_MODULE := static-lib LOCAL_SRC_FILES := libstaticbcti.a LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/ include $(PREBUILT_STATIC_LIBRARY) ############################################################## include $(CLEAR_VARS) LOCAL_MODULE := shared-lib LOCAL_SRC_FILES := libsharedbcti.so LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/ include $(PREBUILT_SHARED_LIBRARY) ############################################################## include $(CLEAR_VARS) LOCAL_MODULE := libbestv LOCAL_SRC_FILES := bcti_jni.c LOCAL_LDFLAGS := $(LOCAL_PATH)/libstaticbcti.a LOCAL_LDLIBS := $(LOCAL_PATH)/libsharedbcti.so include $(BUILD_SHARED_LIBRARY) ############################################################## the console displayed "could not read symbols" error like this: /home/apt/CloudHost/besttv/JNI_Build/android-ndk-r5b/toolchains/arm- linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux- androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: /home/apt/ workspace/BCTI/jni/libstaticbcti.a(bcti_service.o): Relocations in generic ELF (EM: 3) /home/apt/CloudHost/besttv/JNI_Build/android-ndk-r5b/toolchains/arm- linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux- androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: /home/apt/ workspace/BCTI/jni/libstaticbcti.a(bcti_service.o): Relocations in generic ELF (EM: 3) /home/apt/workspace/BCTI/jni/libstaticbcti.a: could not read symbols: File in wrong format collect2: ld returned 1 exit status make: *** [/home/apt/workspace/BCTI/obj/local/armeabi/libbestv.so] 错误 1 if i ignore "LOCAL_LDFLAGS := $(LOCAL_PATH)/libstaticbcti.a" , the console displayed like this: /home/apt/workspace/BCTI/jni/libsharedbcti.so: could not read symbols: File in wrong format collect2: ld returned 1 exit status make: *** [/home/apt/workspace/BCTI/obj/local/armeabi/libbestv.so] 错误 1 -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

