Android.mk已经写好,NDK也已经配置好。自己写的代码可以用JNI 调用本地方法,但是调用一个用C/C++ 实现的协议库的时候却没有NDK的编译信息,当然也没有产生预期的.so文件。有没有遇到同样问题的大神呢?求助 》》》》》
------解决思路----------------------
不知道这个对你有没有用:http://blog.csdn.net/qq_16064871/article/details/45110909
------解决思路----------------------
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CFLAGS += -D_DEBUG -fexceptions
#LOCAL_CFLAGS += -fexceptions
LOCAL_MODULE := myTest
LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
LOCAL_C_SHARED_SRC := ../../src
LOCAL_C_INCLUDES := ../../../include \
$(LOCAL_C_SHARED_SRC)
LOCAL_SRC_FILES := $(LOCAL_C_SHARED_SRC)/View.cpp \
$(LOCAL_C_SHARED_SRC)/pkb.cpp \
$(LOCAL_C_SHARED_SRC)/CTest.cpp \
myTest.cpp
LOCAL_SHARED_LIBRARIES := mCS #第3方SO
LOCAL_LDLIBS += -llog
include $(BUILD_SHARED_LIBRARY)
include $(LOCAL_PATH)/prebuilt/Android.mk
# #########################
#prebuilt/Android.mk:这是另一个文件了
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mCS
LOCAL_SRC_FILES := libmCS.so #第3方SO
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := mApi
LOCAL_SRC_FILES := libmApi.so #第3方SO
include $(PREBUILT_SHARED_LIBRARY)
------解决思路----------------------
思路:
Java调用JNI时,JNI目录下的Android.mk指定了编译的源码、链接库;
JNI/prebuilt/Android.mk指定了要把第三方SO文件(可以是多个SO文件)加入到APK中。