从Java到C++
文章平均质量分 79
满嘴跑火车的小土匪
这个作者很懒,什么都没留下…
展开
-
从Java到C++系列目录
从Java到C++:CMake 从Java到C++:JNI基本概念 从Java到C++:JNI实战 从Java到C++:异步 从Java到C++:数组拷贝(暂无) 从Java到C++:字符串(暂无) 从Java到C++:异常定位(暂无) 从Java到C++:动态加载/卸载so(暂无) ...原创 2022-03-19 19:02:59 · 2365 阅读 · 0 评论 -
从Java到C++:异步
从Java到C++系列目录 前言 摘要 本文主要通过一个简化的MediaPlayer实现,来讲解JNI的异步引发的几个问题: 异步线程如何获取JNIEnv? Java和C++的MediaPlayer对象如何实现一一映射? 异步任务回调如何避免内存泄漏? 代码 示例代码:简化的MediaPlayer 测试代码:MediaPlayerTest 简化版MediaPlayer 类图 注意事项: 左边是Java层的MediaPlayer。右边是C++层的MediaPlayer。两者通过android_media_M原创 2022-03-19 18:57:37 · 1947 阅读 · 0 评论 -
从Java到C++:JNI实战
从Java到C++系列目录 前言 概念 本文中: JNI方法:指JNI提供的一系列API。 native方法:跨native层调用的方法(Java->C/C++)。 C/C++方法:除native方法外,普通的C/C++方法。 native层:C/C++代码。 代码 示例代码:JNIInterface 测试代码:JNIInterfaceTest 摘要 本文主要内容如下: 加载so native方法声明、定义 native与static native 静态注册与动态注册 Java元素定位 局部引用与全局原创 2022-03-19 18:51:21 · 3074 阅读 · 0 评论 -
从Java到C++:JNI基本概念
从Java到C++系列目录 前言 JNI(Java Native Interface):是一组Native编程接口,用来实现Java(Kotlin亦可)与其他编程语言(例如 C、C++ 和汇编)的交互。 通过JNI,我们将一些重要代码下沉到C/C++层,提高反编译的难度。 通过JNI,我们可以调用C/C++一些成熟的、高性能的第三方库。如:调用OpenCV进行图像处理、调用FFMPEG进行音视频处理等。 JNI其实是用C/C++实现的,写JNI的时候,其实就是在写C/C++代码,要遵守C/C++的语法。 J原创 2022-03-19 18:45:44 · 2315 阅读 · 0 评论 -
从Java到C++:CMake
[从Java到C++系列目录] 前言 CMake是一个开源的、跨平台的构建工具。 在Android NDK(Native Development Kit)开发中,编译C/C++代码的方式,主要有两种:ndk-build、CMake。在Android源码中,你会频繁看见前者。而后者,则是Android Studio创建包含C/C++代码的项目时,默认使用的构建工具。CMake可以配合Gradle,完成整个项目的构建。 摘要 本文主要内容如下: 创建Native项目 Native项目的不同 CMake语法 代码原创 2022-03-19 18:42:22 · 3300 阅读 · 0 评论