NDK开发

首先介绍下什么是JNI,JNI全名jni java native interface java本地开发接口,它是用来让java语言和c/c++的语言相互调用的一种技术。


下面介绍下NDK的开发流程:

把ndk解压到一个文件夹下, 并且在系统的环境变量path中追加ndk的根目录: C:\IDE\android-ndk-r9

1. 在java代码中声明native方法.

2. 在window -> preferences -> Android -> NDK 把ndk的根目录配置进去.
   右键工程 Android Tools -> Add Native Support 写进去一个函数库的名字.

3. 使用javah命令生成.h的头文件, 把头文件拷贝到工程的jni目录下.

4. 实现c代码: 把生成的.h头文件引入进来(使用双引号方式引入).

5. 处理错误和代码提示: 右键工程 -> Properties -> C/C++ General -> Paths and Symbols -> Includes -> Add 把android-ndk-r9\platforms\android-9\arch-arm\usr\include配置进去.

6. 把c代码对应native方法实现了.

7. 在java代码中加载.so库文件, 调用native方法.



C++开发流程.

在c的语法中JNIEnv是JNINativeInterface*结构体的一级指针变量.

(**env).NewStringUTF(env, "hello from c!!");

在c++语法中JNIEnv是_JNIEnv

(*env).NewStringUTF("hello from c++");



c端返回给java中文: 把工程所有的文件修改成utf-8的编码.

如果修改完编码之后, 工程不能运行. Scanner Configration Builder
解决方法: 把工程close project 再 open project.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值