Android Studio JNI开发,Java+C++

前提:Mac平台,windows平台仅供参考。

1,准备工作。

1.1,查看你的jdk是否有javah编译功能:终端-》whereis javah

如果没有找到这条指令,请查看你是否安装的是JDK较高版本,如果是jdk10,恭喜你这里边没有javah的命令了,你需要更换你的jdk为1.8。如果你的jdk中有,你可以看到在Java Home的文件路径下看到如下图:

如何配置你本机的jdk环境,请自行百度。

还可以使用你Android Studio中自带的Java编译,其中也是包含有javah的你只需要按照如下图设置:

1.2,还需要三个插件工具:

具体你可以参考google的Android开发者指导页面:https://developer.android.com/studio/projects/add-native-code?hl=zh-cn

您可以使用 SDK 管理器安装这些组件:

  1. 在打开的项目中,从菜单栏选择 Tools > Android > SDK Manager
  2. 点击 SDK Tools 标签。
  3. 选中 LLDBCMake 和 NDK 旁的复选框,如图 1 所示。

    图 1. 从 SDK 管理器中安装 LLDB、CMake 和 NDK。

  4. 点击 Apply,然后在弹出式对话框中点击 OK
  5. 安装完成后,点击 Finish,然后点击 OK

好了,准备工作完成。

2,新建一个带有C/C++的Android 工程

其中最重要的会自动生成:

1,cpp文件夹,这里边有范例的C++文件。

2,CMakeLists.txt关联库名称和文件路径。

3,app的build.gradle文件中会自动生成

4,我们可以观察cpp文件,和MainActivity.java 能够知道他的命名规则,和调用规则。

c++文件函数名的命名规则:Java+包名+Activity名+方法名

在Activity中用CMakeLists.txt文件中的别名静态加载c++文件。

该调用方法需要在Activity中申明为Native方法。

之后就可以直接调用该方法获取C++文件中传递的值了。

这样jni加入C++文件开发就可以正常运行了。

下一篇将说明,如何引入c文件调用。其实和c++很像,也有不同的方法,需要用到上边说的javah。

猜你喜欢

转载自blog.csdn.net/Goals1989/article/details/85162503