阿里云物联网平,Android台接入问题(couldn't find "libcoap.so")

阿里云物联网平,Android台接入问题(couldn't find "libcoap.so")


、、公司再做一个智能货柜的安卓主板应用开发,接入阿里物联网平台的基于MQTT协议传输信息,控制锁和摄像头等底层硬件。使用到阿里的sdk(com.aliyun.alink.linksdk:iot-linkkit:1.4.0’), 其中包含了sagim.so和coap.so。项目要求android主板开发,需要用到jni c++ 开发,调用底层ioctl函数(” 通用输入/输出口”(GPIO),控制单片机的管脚)控制锁开关。
、、起初,单独将阿里云的sdk和锁都已经调通,但是将两个功能合并到一块时,出现couldn’t find " libcoap.so"错误。经过网上查资料,发现我们的安卓芯片兼容armeabi和x86的处理器,我使用的ndk版本是17已经不支持armeabi。可能和CMake文件混合使用时导致编译到apk中so包出了问题(我猜是我编译的C++对应的so包在armeabi文件下面没有,导致程序出的问题)。
、、解决方案:在官网下载了ndk16的版本,将工程的ndk指向ndk16.,然后添加ndk{abiFilters ‘armeabi’},具体的操作如下图。

阿里云物联网平,Android台接入问题(couldn't find 阿里云物联网平,Android台接入问题(couldn't find

你可能感兴趣的:(NDK,Android,JNI)