- 需要单独下载 NDK
- 环境变量配置,?~/.bash_profile(如果没有则自动创建)输入以上代码进行配置,退出后执行source命令生效
export PATH=$PATH:/Users/confiwang/Applications/android-ndk-r11c/
ANDROID_NDK_ROOT=/Users/confiwang/Applications/android-ndk-r11c/
export ANDROID_NDK_ROOT
- 新建一个工程使用空白的activity
- 修改local.properties 添加
ndk.dir=/Users/confiwang/Applications/android-ndk-r11c/
android.useDeprecatedNdk=true
- 在app module中(注意不是项目根目录),配置ndk编译(这里只配置了moduleName和平台,图片可下载后查看,或放大查看):
- 创建一个JNI文件,简单的一个native方法add,计算两个整数相加的值:
- 在main文件夹下建立一个jni的子文件夹(跟java文件夹并列,Android会默认知道这事底层的代码源文件夹)
- 切换到命令行,进入项目的java目录,执行java com.example.confiwang.jni.MathJNI(包名+类名),然后把这个生成的.h文件拷贝到刚建立的jin目录下,同时创建.cpp方法实现这个函数
- 由于是JNI和应用层是在同一个工程中,直接运行系统会自动编译,生成Android.mk和对应so:![这里写图片描述]
- 编写方法调用使用,可以在日志中看到输出
时间: 2024-10-11 16:20:40