- 博客(6)
- 收藏
- 关注
原创 从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
2455
原创 从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
2060
原创 从Java到C++:JNI实战
从Java到C++系列目录前言概念本文中:JNI方法:指JNI提供的一系列API。native方法:跨native层调用的方法(Java->C/C++)。C/C++方法:除native方法外,普通的C/C++方法。native层:C/C++代码。代码示例代码:JNIInterface测试代码:JNIInterfaceTest摘要本文主要内容如下:加载sonative方法声明、定义native与static native静态注册与动态注册Java元素定位局部引用与全局
2022-03-19 18:51:21
3149
原创 从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
2442
原创 从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
3382
原创 FFmpeg:编译(Windows)
编译环境Windows 10编译流程安装msys2下载:MSYS2安装:点击下载好的exe,这里选择默认的安装路径:C:\msys64.配置环境变量:在windows的左下侧搜索栏,搜索环境变量,然后点击编辑系统环境变量。并将安装路径C:\msys64添加到系统变量Path中。在windows的搜索栏搜索msys2,打开msys2的命令行窗口。下载相关编译工具。在命令行中输入:pacman -S mingw-w64-x86_64-toolchain使用
2022-03-19 18:28:55
4638
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人