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

发布时间:2019-06-24 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Android Java 如何调用自己的 c++ 的类库脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

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

下面以 Java 调用 C++ 的加法运算函数为例,做简单说明。
(使用 Android Studio 3 编译)

首先编译 c++ 类库

  1. 创建独立目录存放 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++ 函数。

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

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

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

在 Java 中调用

  1. 实现 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);
      }
    }

脚本宝典总结

以上是脚本宝典为你收集整理的Android Java 如何调用自己的 c++ 的类库全部内容,希望文章能够帮你解决Android Java 如何调用自己的 c++ 的类库所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。