jni,android

Windows下JNI的使用教程 - sysu_huangwei - 博客园 (cnblogs.com)

JNI的使用大致有以下4个步骤:

一、在Java中写native方法

二、用javah命令生成C/C++头文件

三、写对应的C/C++程序实现头文件中声明的方法,并编译成库文件

四、在Java中加载这个库文件并使用

Android Studio编译FFmpeg库并移植实战-百度开发者中心 (baidu.com)

编译出动态库可以在linux系统中使用:

ffmpeg在Linux下的编译与使用_libavcodec依赖那些头文件-CSDN博客

#############

Android 集成 FFmpeg (一) 基础知识及简单调用 - 简书 (jianshu.com)

JNI 的实现步骤很简单,如下:

  1. 编写带有 native 方法的 Java 类
  2. 生成该类扩展名为 .h 的头文件
  3. 创建该头文件的 C/C++ 文件,实现 native 方法
  4. 将该 C/C++ 文件编译成动态链接库
  5. 在Java 程序中加载该动态链接库

思考:源码编译成库(lib目录下的so动态库可以被c程序调用);然后2,3,4,再次形成动态库;被jni类使用。

但是为什么SDL与ffmpeg集成,却没有看到jni的头文件呢?也没有cpp文件?这是为什么?

通过继承SDLActivity,你可以利用SDL提供的多媒体功能而无需自己定义JNI接口。SDL库会处理与C/C++代码的通信。

然后,你可以在jni目录下编写你的C/C++代码,以实现特定的功能。SDL提供了许多接口来处理多媒体、图形等任务,你可以根据需要来调用这些接口。

总的来说,SDL简化了在Android上开发多媒体应用的过程,它已经提供了对JNI的封装,因此你通常不需要手动定义JNI接口。

二:新颖的创建项目的方式:

Android FFmpeg集成_android 集成ffmpeg-CSDN博客

胡想:也许就是根据这种方式将实现jni接口的cpp再次编译成库,所以才看不到jni的实现。(不清楚)


感觉可能有用的博客:

Ubuntu+Qt+SDL2+FFmpeg - 简书 (jianshu.com)

相关推荐
编程乐学15 小时前
安卓非原创--基于Android Studio 实现的新闻App
android·ide·android studio·移动端开发·安卓大作业·新闻app
雅雅姐15 小时前
Android14 init.rc中on boot阶段操作4
android
蓝纹绿茶16 小时前
Python程序使用了Ffmpeg,结束程序后,文件夹中仍然生成音频、视频文件
python·ubuntu·ffmpeg·音视频
fatiaozhang952716 小时前
中国移动中兴云电脑W132D-RK3528-2+32G-刷机固件包(非原机制作)
android·xml·电脑·电视盒子·刷机固件·机顶盒刷机
Android出海18 小时前
Google Play账户与App突遭封禁?紧急应对与快速重构上架策略
android·网络·重构·新媒体运营·产品运营·内容运营
恋猫de小郭18 小时前
Flutter 官方 LLM 动态 UI 库 flutter_genui 发布,让 App UI 自己生成 UI
android·前端·flutter
锅拌饭19 小时前
saveEnabled导致的Fragment大量泄露
android
叽哥19 小时前
Kotlin学习第 3 课:Kotlin 流程控制:掌握逻辑分支与循环的艺术
android·java·kotlin
CYRUS_STUDIO19 小时前
别让 so 裸奔!移植 OLLVM 到 NDK 并集成到 Android Studio
android·android studio·llvm
尚久龙19 小时前
安卓学习 之 图片控件和图片按钮
android·java·学习·手机·android studio·安卓