Android JNI 调用流程

为啥要用JNI,我个人理解是,Java 代码效率不够高,代码调用底层逻辑隔着一层Java 虚拟机,不能直接操控底层硬件,而C/C++ 可以直接操控硬件设备,对于需要效率更高的操作,就需要通过C/C++ 完成。。

比如说我们公司做的一个项目,VR眼镜,连接主机设备,VR需要上报数据给主机,并且显示出来。眼镜转动很快,,如果数据获取慢,那主机显示很延时很久,所以这里java 就不合适了。

一、项目结构

先简单介绍下目录结构,如果想自己本地调试打开android studio   File->New->New Project  选择 native C++ 项目,系统会为我们创建一个demo 。

新建完成build.gradle会指定cmakelist,该文件会用于编译native 库,一般不建议更改

   externalNativeBuild {
        cmake {
            path = file("src/main/cpp/CMakeLists.txt")
            version = "3.22.1"
        }
    }

然后就是natIve 库的存放位置,系统会新增一个cpp 文件夹,不建议自己修改路径。

这些都是系统自动编译的,我们需要做的是加载native 库,然后调用就可以了

   static {
        System.loadLibrary("myapplication");
    }

 public native String stringFromJNI();
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值