Android Studio导入Android 4.2.2的WiFi-Display系统源码
Sink源码概述
Miracast Sink端源码最早出现在Android 4.2.2
上,通过googlesource可以很方便的查看:
https://android.googlesource.com/platform/frameworks/av/+/android-4.2.2_r1.2/media/libstagefright/wifi-display/sink/
但是在Android 4.3
以后,Google却移除掉了这部分源码,详细的commit记录在:
https://android.googlesource.com/platform/frameworks/av/+/c4bd06130e4c3068ab58a0be88a4f765c2267563
Remove all traces of wifi display sink implementation and supporting code. Change-Id: I64b681b7e3df1ef0dd80c0d261cacae293d5e684 related-to-bug: 8698812
虽然移除了Sink端代码,但是Source端源码是还在的,我们可以通过Android手机的投射功能实现Miracast投屏发送端。
导入源码
这里推荐使用Android Studio进行源码查看,为了方便使用IDE的代码提示及类/方法跳转等相关功能,我们需要搭建好源码环境。
-
首先新建一个
Native Project
,然后把整个libstagefright
相关的源码拷贝到cpp目录中,
我们可以直接点击tgz下载libstagefright
相关的源码 -
include头文件也一起导入(因为涉及到很多依赖)
下载android/platform/frameworks/native/refs/tags/android-4.2.2_r1.2/include
路径下的头文件
- 然后在CMakeLists.txt中添加这部分源码。
cmake_minimum_required(VERSION 3.10.2) project("source") include_directories(include) file(GLOB_RECURSE source_file libstagefright/*.h libstagefright/*.cpp) add_library( native-lib SHARED ${source_file}) find_library( log-lib log ) target_link_libraries( native-lib ${log-lib} )
- 重新sync一次,这样就能引用到相关的类与头文件,并且支持代码提示,提高我们查看源码的效率。
分类:
Miracast技术详解
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!