软件编程
位置:首页>> 软件编程>> Android编程>> Android Java调用自己C++类库的实例讲解

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

作者:李毅  发布时间:2023-06-16 19:09:17 

标签:android,java,c++,类库

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

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

(使用 Android Studio 3 编译)

首先编译 c++ 类库

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


#include <jni.h>
extern "C" JNIEXPORT jint
JNICALL
Java_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);
}
}

来源:https://segmentfault.com/a/1190000014594778

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com