一、NDK编写指导配置编写
参考:
https://stackoverflow.com/questions/24818902/running-a-native-library-on-android-l-error-only-position-independent-executab
https://blog.csdn.net/gaojinshan/article/details/9498375
在jni目录下,增加Application.mk
在文件中加入如下两行flag
APP_ABI := armeabi
APP_PLATFORM := android-21
这样使用ndk-build
编译出来就只会有一个armeabi可执行文件了
二、直接把可执行文件放到设备里面
之前修改文件夹权限一直修改不成功,所以一直用编译源码的方式测试
1、修改android5.1里面system目录权限的办法
不修改的话就无法在这个文件夹内修改文件,提示:”Read-only file system”。
将system文件改为可读写(从ro改为rw)
1》方案一:在状态下使用mount -o remount,rw /system
指令
参考:
https://blog.csdn.net/qidi_huang/article/details/53085024
https://blog.csdn.net/johnwizard/article/details/54695355?utm_source=itdadao&utm_medium=referral
PS:一开始就是用这个方法没有成功修改,这里记录下
2》方案二:使用adb指令
adb root
adb remount
3》修改成功后,在adb shell
里使用mount
指令查看当前权限状态
2、拷贝执行文件到指定目录下
adb push /(路径)/ system/bin
3、给可执行文件增加权限
chmod 777 xxx
4、编译完成,烧录后,去对应的文件夹执行指令,运行测试程序
./xxxxx
就可以了
5、这里是我用到一个串口测试函数
参考:
https://zhidao.baidu.com/question/162064321.html
函数使用方法:
int main(int argc, char **argv)
xkm9exe /dev/ttyHSL1 10330