问题:当编译ndk项目的时候,eclipse会自动删除lib/armeabi目录下的so库。每次都要重新把第三方的so库文件要重新粘贴进去。
解决办法:
1、在JNI文件夹下建立prebuilt文件夹。
2、进入prebuilt文件夹,将so库文件按照不同的系统架构放到不同的文件夹下,并且创建Androidusc.mk文件
3、Androidusc.mk文件 内容如下
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := jpush172 LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/****.so include $(PREBUILT_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := jpush172 LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/****.so include $(PREBUILT_SHARED_LIBRARY)
星号部分修改为第三方so库名称
多个so库,请配置多个
include $(CLEAR_VARS) LOCAL_MODULE := jpush172 LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/****.so include $(PREBUILT_SHARED_LIBRARY)
4、回到JNI目录下打开Android.mk
并在文件结尾加入
include $(LOCAL_PATH)/prebuilt/Androidusc.mk
至此,从新编译NDK时,第三方编译好的so库文件就会根据不同的系统架构放置到对应的lib/armeabi文件夹下