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); } }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
- Android之在linux终端执行shell脚本直接打印当前运行app的日志的实现方法
- Android可自定义神奇动效的卡片切换视图实例
- Android添加音频的几种方法
- Android四大组件之Activity详解
- Android四大组件之Service详解
- Android四大组件之BroadcastReceiver详解
- Spring线程池ThreadPoolExecutor配置并且得到任务执行的结果
- 线程池ThreadPoolExecutor使用简介与方法实例
- Java自带定时任务ScheduledThreadPoolExecutor实现定时器和延时加载功能
- Android之线程池ThreadPoolExecutor的简介
相关文章
使用OkHttp包在Android中进行HTTP头处理的教程
HTTP头部处理是HTTP网络编程中的基本操作,安卓中使用OkHttp包(github.com/square/okhttp)进行相关操作当然也是得心应手,这里我们就来看一下使用OkHttp包在Android中进行HTTP头处理的教程2016-07-07老生常谈Android HapticFeedback(震动反馈)
下面小编就为大家带来一篇老生常谈Android HapticFeedback(震动反馈)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-04-04Android 深入探究自定义view之事件的分发机制与处理详解
对于安卓程序员来说,自定义view简直不要太重要,毕竟有很多功能,譬如圆形头像这些,用单纯的原生非常难以实现,而用自定义view,简直分分钟2021-11-11Android实现左上角(其他边角)倾斜的标签(环绕效果)效果
这篇文章主要介绍了Android实现左上角(其他边角)倾斜的标签(环绕效果)效果,本文通过图文实例代码相结合的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-10-10
最新评论