一. 准备工作
ndk下载:https://developer.android.google.cn/ndk/downloads/
-
首先配置终端的ndk命令:
-
启动终端Terminal
-
输入cd~,进入当前用户的home目录
-
如果没有.bash_profile文件,先输入touch .bash_profile进行创建
-
输入open -e .bash_profile 编辑.bash_profile文件,加入下面语句
-
export PATH=${PATH}:“这里填你的ndk安装路径”
-
-
保存并关闭.bash_profile文件
-
输入source .bash_profile,更新刚刚配置的环境变量
-
命令行输入ndk-build,验证是否配置成功,出现下图表示配置成功

-
-
另外,Android Studio中也不要忘记设置(一般会默认设置成Android Sdk中的ndk路径,但是自己如果下载了最新的ndk,可以替换),打开File --> Project Structure:

二. JNI文件编写
-
创建一个含有native方法的java文件:
package com.hyf.kaviewer.jni; /** * Created by heyf on 2019/2/28 */ public class JniTest { public static native void getSecret(); } -
通过javah命令生成.h头文件
首先需要进入到当前项目当前module的java路径下:
cd /Users/admin/Demo-Project/KAViewer/app/src/main/java
然后输入:
javah -d ../jni com.hyf.kaviewer.jni.JniTest

生成的.h文件如下所示(jni路径也是自动生成)

.h文件的内容为:

红框中的方法与java文件中所写的方法相对应,我们马上也会在.cpp文件中实现它。
-
创建.cpp文件
复制一份.h文件并将后缀改为.cpp

接下来编辑.cpp文件的内容:


具体代码如下:

本文详细介绍了如何在Android环境下配置NDK,生成SO库的过程,包括设置环境变量、编写JNI文件、使用javah生成头文件、创建cpp文件实现方法、配置Android.mk和Application.mk文件,以及在build.gradle中添加相关配置。最终通过ndk-build命令生成适用于不同ABI的SO库。
最低0.47元/天 解锁文章
6600





