现在的位置: 首页 > 综合 > 正文

JNI开发——HelloWorld

2018年01月29日 ⁄ 综合 ⁄ 共 695字 ⁄ 字号 评论关闭
文章目录

mac下javac、javah命令行终端显示乱码

因为mac 终端默认是UTF-8编码,而javac、javah默认输出是GBK,所以会产生乱码

解决方法在.bash_profile文件中加入下面的代码

 

alias javac='javac -J-Dfile.encoding=UTF-8'

alias javah='javah -J-Dfile.encoding=UTF-8'

 

JNI方法命名

jstring : 方法返回值

 

Java :必须以 Java开头,_ 下划线连接

 

com_example_hellojni : native方法所在类的包名 com.example.hellojni ; _下划线取代.

MainActivity : native方法所在的类

helloJni  :native方法名。

 

JNI C文件中使用中文需要将 C文件格式设置成UTF-8编码

JNI开发基本流程

1.在java类中添加native方法。

使用javah 生成jni头文件:开启终端在进入到项目bin目录中的classes文件夹下

2.使用javah –jni <包名.类名>(类名后无需加后缀)


3.cd 到上级目录 open classes 打开Finder 赋值classes文件夹中的.h头文件

4.在项目中新建jni文件夹将.h文件粘贴到jni文件夹中,创建.c文件。

5.在.c文件中实现.h文件定义的方法。

6. 在jni文件夹中创建Android.mk文件,并编写mk文件。(关于mk文件编写请参照Android.mk语法)


7.打开终端进入项目jni目录下运行ndk-build命令,成功后刷新项目。


8. 使用静态代码块加载.so库文件,调用native方法。

抱歉!评论已关闭.