Android使用cmake编译串口通信.so文件报错cannot|Android使用cmake编译串口通信.so文件报错cannot locate symbol "tcgetattr"
原因
在SerialPort.c的代码中有使用到tcgetattr
方法
文章图片
image
而
tcgetattr
方法存在于
termios.h
头文件中
在api 19 之后的termios.h
里面的函数有调整,api版本设置不对会导致在不兼容的android版本下出现这个错误。
我编译.so库时把minSdkVersion设置成21了,在android4.4的工控机上出现了这个错误。
解决办法
只需要将module下的build.gradle文件里的minSdkVersion设置成19或以下,再进行编译,就OK了。
【Android使用cmake编译串口通信.so文件报错cannot|Android使用cmake编译串口通信.so文件报错cannot locate symbol "tcgetattr"】Tips:NDK版本在17以后就不支持armeabi了,所以想要支持到更多的ABI,使用16的NDK版本就好了,
文章图片
image
推荐阅读
- android第三方框架(五)ButterKnife
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程