Lazy loaded image
技术分享
🗒️JNI在Android中的实践NDK:Hello World
字数 490阅读时长 2 分钟
2020-8-31
2023-10-24
type
status
date
slug
summary
tags
category
icon
password

Java层入口

对要在C层实现的方法加native修饰符
Activity中使用该方法,该方法会从Native层返回一个字符串显示在屏幕上。我这里用了MVP设计模式,无视他就可以了。

自动生成.h文件

编译java文件,生成.class文件
javac NDKTools.java
生成的字节码文件
notion image
输入javah -jni com.billshen.offerlearn.util.NDKTools,根据class生成h头文件。注意这里要cd到java根目录。
notion image
会在java根目录下生成一个h头文件
notion image
在main目录下新建一个jni目录,同时新建一个c文件和一个Android.mk,并把刚才那个h文件拷过来。当然h文件你自己写也是可以的,这样自动生成快一点,而且规范。
notion image
ndk_test.c文件实现h文件中的方法,需要导入刚才的头文件。
Android.mk类似于CMakeLists.txt,用于指明编译方式,源文件名称,模块名称等信息
最后在Gradle文件中指明需要编译的Android.mk

运行结果

notion image
上一篇
Android中AIDL的使用详解,如何发起回调?
下一篇
Timer实现原理

评论
Loading...