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

 更新时间:2019年02月13日 11:17:19   作者:李毅  
今天小编就为大家分享一篇关于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);
 }
}

总结

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

相关文章

  • 使用OkHttp包在Android中进行HTTP头处理的教程

    使用OkHttp包在Android中进行HTTP头处理的教程

    HTTP头部处理是HTTP网络编程中的基本操作,安卓中使用OkHttp包(github.com/square/okhttp)进行相关操作当然也是得心应手,这里我们就来看一下使用OkHttp包在Android中进行HTTP头处理的教程
    2016-07-07
  • Android ARouter路由框架解析

    Android ARouter路由框架解析

    这篇文章主要介绍了Android ARouter路由框架解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 老生常谈Android HapticFeedback(震动反馈)

    老生常谈Android HapticFeedback(震动反馈)

    下面小编就为大家带来一篇老生常谈Android HapticFeedback(震动反馈)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Flutter实现底部导航栏效果

    Flutter实现底部导航栏效果

    这篇文章主要为大家详细介绍了Flutter实现底部导航栏效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Android 文件操作详解及简单实例

    Android 文件操作详解及简单实例

    这篇文章主要介绍了 Android 文件操作详解及简单实例的相关资料,需要的朋友可以参考下
    2017-02-02
  • Android自定义相机聚焦和显示框

    Android自定义相机聚焦和显示框

    这篇文章主要为大家详细介绍了Android自定义相机聚焦和显示框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • Android点击事件派发机制源码分析

    Android点击事件派发机制源码分析

    这篇文章主要为大家详细介绍了Android点击事件派发机制源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Android 深入探究自定义view之事件的分发机制与处理详解

    Android 深入探究自定义view之事件的分发机制与处理详解

    对于安卓程序员来说,自定义view简直不要太重要,毕竟有很多功能,譬如圆形头像这些,用单纯的原生非常难以实现,而用自定义view,简直分分钟
    2021-11-11
  • Android WebView的使用与后退键处理详细讨论

    Android WebView的使用与后退键处理详细讨论

    在android开发中我们有时候根据项目的需求多少会加载一些webview,加载webview,我们有时候会根据UI来自定义返回键,下面这篇文章主要给大家介绍了关于Android WebView的使用与后退键处理的相关资料,需要的朋友可以参考下
    2024-04-04
  • Android实现左上角(其他边角)倾斜的标签(环绕效果)效果

    Android实现左上角(其他边角)倾斜的标签(环绕效果)效果

    这篇文章主要介绍了Android实现左上角(其他边角)倾斜的标签(环绕效果)效果,本文通过图文实例代码相结合的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10

最新评论