1.demo的环境
androidstudio 17.0.9
JDK 17
gradle 8.4
2.demo实践开始的步骤
2.1 C++层、JNI、java层数据类型映射
java层没有无符号类型
java - jni
java
java-C++(从java层往下C++传的时候:java-byte[] 对应 C++-int8_t* )
2.2创建Native C++工程
2.3创建JNI方法
创建两个JNI方法调用底层的C++层接口myFunction
2.4 java层使用并测试JNI方法
目前我是在Naitve C++工程中的mainactivity中直接测试了JNI是没有问题的,但是单独把他变成库给另外的安卓工程使用的时候还会报错,暂时没空解决。如果单纯测试JNI,到这个步骤就结束了。
2.5 修改cmakelist ,编译Native c++工程生成 .so库
2.6新建empty activity,使用上面生成的so库
so库放置的路径
读取so库路径
2.7 调用生成so库方法
在mainActivity中调用
目前2.5-2.7报错问题为xxxx.so is not an ABI
网上找到的原因是说这个库编译的平台架构与使用该库的平台架构不符——但未解决
2.8jniLibs无法引入.so文件
参考这个就可以啦
解决jniLibs无法引入.so文件_libv4l2jni.so is not an abi-CSDN博客
可以查看上一篇 JNA demoandroid开发002-JNA调库demo总集(java层调用底层C/C++/其他语言库)【实践】-CSDN博客