热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

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

今天小编就为大家分享一篇关于AndroidJava调用自己C++类库的实例讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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

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

(使用 Android Studio 3 编译)

首先编译 c++ 类库

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

#include 
extern "C" JNIEXPORT jint
JNICALL
Java_com_example_liyi_demo_Util_add(
  JNIEnv *env,
  jobject,
  jint a,
  jint b
) {
 return a + b;
}

被调用的函数命名必须是 "Java___" ,此例表示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);
 }
}

总结

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


推荐阅读
author-avatar
don't
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有