欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-06-16 13:32:29
android java 如何调用自己的 c++ 的类库 下面以 java 调用 c++ 的加法运算函数为例,做简单说明。 (使用 android studio 3 编...

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);
 }
}

总结

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