这篇文章上次修改于 1776 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
Android JNI编程
Android Studio基本配置
配置ndk-build环境变量
~/AndroidStudioProjects/NDKDemo code ~/.zshrc
# NDK配置
export NDK_HOME=/Users/m1k3/Library/Android/sdk/ndk-bundle
export PATH=$PATH:$NDK_HOME/
生成.h头文件(有时候这一步非必要操作)
新建Hello.java
文件
生成.h
头文件,执行如下命令
~/AndroidStudioProjects/HelloJni/app/src/main/java/com/example/hellojni javac Hello.java
~/AndroidStudioProjects/HelloJni/app/src/main/java/com/example/hellojni cd ../../../
~/AndroidStudioProjects/HelloJni/app/src/main/java javah -jni com.example.hellojni.Hello
项目目录结构
新建jni
目录将生成的头文件复制到jni目录下。
定义.c/.cpp
文件
在jni目录下新建Android.mk文件,内容如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Hello
LOCAL_SRC_FILES := com_wangyz_ndk_Hello.c
include $(BUILD_SHARED_LIBRARY)
在jni目录下新建Application.mk文件,内容如下:
APP_ABI := all
在该目录下执行cmd命令:
ndk-build
引用SO库
在app/src/main目录下新建目录jniLibs,将对应的so复制到该目录下:
在Activity中引入:
static {
System.loadLibrary("Hello");
}
使用SO库中的方法
String hi = Hello.hi();
Toast.makeText(getApplicationContext(), hi, Toast.LENGTH_SHORT).show();
Android Studio中NDK的简单开发到此结束。
参考:https://www.cnblogs.com/milovetingting/archive/2019/09/05/11468273.html
没有评论