Andorid Studio NDK开发:Hello World

介绍了在Android Studio中配置NDK的开发环境,配置为NDK开发环境之后,就可以写下著名的Hello World程序了。

创建JNI目录

右键点击App(对应的module)新建jni目录:

在main目录下就会出现一个jni目录:

新建Java类

新建一个HelloJni.java的类,用来调用NDK编写的方法:

可以看到一个提示,没有实现sayHello的方法。

gradle中配置支持NDK

在bulid.gradle中设置ndk的的moduleName

同步gradle发现错误

需要在gradle.properties中设置android.useDeprecatedNdk=true

生成.h文件

需要在Java中使用调用NDK的方法,首先要先生成.h头文件,jni的.h文件很麻烦,我们可以通过javah命令自动生成。
在app/目录下运行命令:

javah -d src/main/jni/ -classpath build/intermediates/classes/debug/ com.example.jjz.jni.HelloJni
其中-d是生成.h文件的保存目录
-classpath是指定.class所在的目录,项目build成功之后,会在build/intermediates/classes/debug/目录里生成.class文件。
com.example.jjz.jni.HelloJni是包名加上类名。
就可以在jni目录下得到一个com_example_jjz_jni_HelloJni.h的文件。

实现.h文件

.h文件只是一个声明文件,我们需要实现.h文件中定义的方法

  • 添加.c文件
    新建文件com_example_jjz_jni_HelloJni.c文件实现sayHello方法。
  • 添加Application.mk
  • 添加Android.mk

ndk-build

在../app/src/main/jni目录下,运行命令

ndk-build

运行之后可以看到生成的libhello.so文件:

项目地址:https://github.com/jjz/android/tree/master/Jni

1 1 收藏 评论

关于作者:姜家志

IOS,Android开发者。 个人主页 · 我的文章 · 5 ·   

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部