Android开发中怎么将项目中.cpp文件通过Android Studio生成对应的.so库文件,并将其在代码中引用

在日常开发中,如果涉及到JNI和NDK的开发,我们有可能会接触.so文件,比如我们经常集成第三方SDK的功能时,就会下载对应的SDK,这个SDK就是.so文件。也有部分应用我们可能没有找到对应的.so文件,但是会看到很对对应的.cpp/.c、.h文件,这个时候,我们既可以直接引用,也可以通过生成对应的.so文件,将生成的对应的.so文件,当成lib库直接引用,但是通过Android Studio生成的.so只支持window系统,并不支持liunx系统。下面我们来具体看一下Android Studio怎么生成.so:具体步骤分两大步:第一步:生成.so;第二步应用生成的.so

第一步:生成.so库

(一)将所需生成.so库对应的.CPP/.C、.h文件加载到项目中:

我将所需文件加载在app目录下创建的jni文件下面在这里插入图片描述

(二)在项目下面和app同目录下面创建一个CMackeLists.txt文件

,将上一步加载的文件中的.cpp加载到CMackeLists.txt文件中,如图显示:
这里主要注意CMakeLists.txt的版本号在这里插入图片描述这里主要注意本地库:n

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Android 系统的 SimplePlayer.cpp 文件是一个简单的媒体播放器示例程序,它并不负责将文件编码成 MP4 格式。如果需要将一个视频文件编码成 MP4 格式,可以使用 Android 系统提供的 MediaCodec 和 MediaMuxer 类来完成。具体的步骤如下: 1. 创建一个 MediaCodec 对象,并将其配置为编码器。可以使用 MediaCodec.createEncoderByType() 方法来创建编码器对象,然后使用 MediaCodec.configure() 方法进行配置,设置输出格式、编码器参数等参数。 2. 创建一个 MediaMuxer 对象,并调用其 addTrack() 方法添加一个音频或视频轨道。可以使用 MediaMuxer 构造函数创建一个对象,然后使用 addTrack() 方法添加轨道。 3. 开始编码和封装视频数据。使用 MediaCodec.start() 方法启动编码器,并调用 MediaCodec.getInputBuffer() 和 MediaCodec.getOutputBuffer() 方法获取输入和输出缓冲区。将视频数据写入输入缓冲区,然后将输出缓冲区的数据写入 MediaMuxer 。 4. 结束编码和封装过程,释放资源。在完成编码和封装过程后,需要调用 MediaCodec.stop() 和 MediaCodec.release() 方法释放编码器资源,调用 MediaMuxer.stop() 和 MediaMuxer.release() 方法释放 Muxer 资源,最后关闭文件输出流。 需要注意的是,编码和封装视频数据是一项相对复杂的任务,需要熟练掌握 Android 媒体编码、封装、解码等技术,以及相关的音视频编码标准和格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值