栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jni编译配置常见问题及解决方案

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jni编译配置常见问题及解决方案

1、引入第三方静态库,需要支持多cpu情况()

Android.mk方式:

LOCAL_SRC_FILES := $(LOCAL_PATH)/openssl-support/lib/${TARGET_ARCH_ABI}/libcrypto.a

关键点:使用变量${TARGET_ARCH_ABI}来匹配多芯片配置

cmake方式:

link_DIRECTORIES(src/main/cpp/openssllib/lib/${ANDROID_ABI}/)

关键点:使用变量${ANDROID_ABI}来匹配多芯片配置

2、需要编译的源文件比较多,并且源文件是放在某些目录底下的,为了好看,也是避免重复写路径

Android.mk方式:

TMP_COMM_SOURCES :=
    debug.c
    socket.c
    thread.c
    userpref.c
    utils.c

LOCAL_SRC_FILES := $(addprefix common/, $(TMP_COMM_SOURCES))

关键点:使用addprefix函数了添加前缀,就是源文件的目录common

cmake方式:

aux_source_directory(src/main/cpp DIR_SRCS)
ADD_LIBRARY(cxsec SHARED ${DIR_SRCS})

关键点:使用aux_source_directory函数把src/main/cpp目录下的所有源文件,保存到 DIR_SRCS 变量

后续有时间会陆续补更

友情关注,关于jni的编译及第三方库的编译欢迎私聊探讨

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/340950.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号