原因是.h跟so的路径指向不对。
.h应该是:
# 指向.H头文件位置
target_include_directories(
network
PRIVATE
${CMAKE_SOURCE_DIR}/src/main/cpp/include
)
解释一下:
network是你自己的so的名字,你自己的jni肯定也会有一个so,只不过用不到而已,但是会生成。
${CMAKE_SOURCE_DIR}就比较关键了,这个是你CMakeLists.txt所在的位置,必须把CMakeLists.txt放在app目录下,否则它无法起到根目录的作用
那位说了那我直接放根目录下不就得了,是啊,但是我不知道根目录该怎么放,所以只能出此下策,正常CMakeLists.txt应该放在cpp目录下的。
#####第三方的库
# 配置第三方库链接
set_target_properties(
HancNetSDK
PROPERTIES
IMPORTED_LOCATION
${CMAKE_SOURCE_DIR}/src/main/jniLibs/ ${ANDROID_ABI}/libHancNetSDK.so)
HancNetSDK是你给第三方so库起的名称
后边的**{ANDROID_ABI}指的是"arm64-v8a", 'armeabi-v7a'等应该可以通配的。
网友评论