Android Java调用自己C++类库的实例讲解

时间:2021-05-21

Android Java 如何调用自己的 C++ 的类库

下面以 Java 调用 C++ 的加法运算函数为例,做简单说明。

(使用 Android Studio 3 编译)

首先编译 c++ 类库

创建独立目录存放 c++ 文件,例如 "app/src/main/cpp/add.cpp",内容如下

#include <jni.h>extern "C" JNIEXPORT jintJNICALLJava_com_example_liyi_demo_Util_add( JNIEnv *env, jobject, jint a, jint b) { return a + b;}

被调用的函数命名必须是 "Java_<namespace>_<class>_<method>" ,此例表示Java 包 com.example.liyi.demo 下,Util 类的 add 方法将关联此 c++ 函数。

将上一步的 c++ 目录加入编译项。已 cmake 为例,将下面内容加入 CMakeLists.txt

add_library( native-util SHARED src/main/cpp/add.cpp )

这样可编译成 native-util.so 库。

在 Java 中调用

实现 Util 类。将如下内容存成 src/main/java/Util.java 文件

package com.example.liyi.demo;public class Util { static { System.loadLibrary(libname: "native-util"); } private native int add(int a, int b); public int java_add(int a, int b) { return add(a, b); }}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章