eclipse jni 编译第三方.a文件报错
错误:
error adding symbols: File in wrong format
我遇到的是.a文件只支持armeabi
解决:在Application.mk 加上APP_ABI := armeabi (跟据.a文件cpu)
错误:
D:/android/android-ndk-r13b/build//../toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld: warning: shared library text segment is not shareable
D:/android/android-ndk-r13b/build//../toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld: error: treating warnings as errors
解决: 在Android.mk 文件内加上下面其中一句
LOCAL_LDLIBS += -Wl,--no-warn-shared-textrel
#LOCAL_DISABLE_FATAL_LINKER_WARNINGS := true
第三方SO导入
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := swscale
LOCAL_SRC_FILES := prebuilt/libswscale-4.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := VideoPlayer.c
LOCAL_LDLIBS += -llog -lz -landroid
LOCAL_MODULE := VideoPlayer
LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
LOCAL_SHARED_LIBRARIES:= swscale
include $(BUILD_SHARED_LIBRARY)