android ndk开发入门随笔(一)

                                                                        ndk,jni入门随笔 

因为工作缘故最近在研究jni,ndk方面知识,在此总结入坑以来的一些问题.

配置环境可以在下面geogle官方看。下面是链接

geogle官网文档

我一说ndk,jni可能小伙伴要问了这是什么,在此我来总结我个人的看法

jni就是一个接口,使java语言和c/c++之间能通信。

ndk则算一个使android端支持c/c++的开发环境,而sdk是androd端支持java的开发环境。

在android端定义一个native接口,他会在native_lib.cpp文件夹自动生产其对应的jni方法

不过需要记住的是一定要在其生成的方法前面加extern"C",如果不加程序会报错误,一直运行不起来


android ndk开发入门随笔(一)_第1张图片

下面说说配置Log,需要在你的cpp文件中加入这3句话


下面是我的log输出日志


android ndk开发入门随笔(一)_第2张图片

到了这步基本配置就完成了。

当我们打开cpp文件的时候总能看到这些j开头的数据类型,可能会很好奇,这是啥新语言么,其实不是的.这是本地类型


我们来看看其对于的源码,这其实就是java代码在本地类型的对应表达形式,我们可能把他等价为当成java类型,

android ndk开发入门随笔(一)_第3张图片

基本数据类型能直接进行操作,但是如果String类型则不能直接操作,因为c/c++没有String这个类型,所以无法进行操作。这是固定写法,不过如果要返回最后要转换成本地类型。需要注意的c和c++写法不同的,小伙伴要先学习c和c++哦。


android ndk开发入门随笔(一)_第4张图片
String类型固定操作

下面是基本数据类型char的操作


android ndk开发入门随笔(一)_第5张图片


android ndk开发入门随笔(一)_第6张图片

你可能感兴趣的:(android ndk开发入门随笔(一))