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一次,这样就能引用到相关的类与头文件,并且支持代码提示,提高我们查看源码的效率。

Android Studio导入Android 4.2.2的WiFi-Display系统源码的更多相关文章
- Android Studio导入Android 4.4.4r1的源码
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/70339471 一.环境配置 1.ubuntu 14.04.5 x64bit 2.j ...
- Android Studio 导入 Android 系统模块并编译和调试
FAQ: AS导入系统模块源码,并且能够编译调试,正常查看java doc ???? Android AOSP基础(五)Android Studio调试系统源码的三种方式http://liuwangs ...
- android studio导入android studio工程
在导入其他android studio工程的时候因为gradle和sdk.tool等版本不一样,会导致android studio自动去后台下载,导致占用硬盘越来越大,最主要的时候会等待很久,不知道要 ...
- Android FrameWork 学习之Android 系统源码调试
这是很久以前访问掘金的时候 无意间看到的一个关于Android的文章,作者更细心,分阶段的将学习步骤记录在自己博客中,我觉得很有用,想作为分享同时也是留下自己知识的一些欠缺收藏起来,今后做项目的时候会 ...
- Android Studio导入第三方类库的方法
Android Studio导入第三方类库的方法 本人也刚刚开始尝试做android app的开发,听说android studio是Google支持的android 应用开发工具,所以想应该肯定比E ...
- Android Studio导入Vitamio多媒体开发框架
PS:这篇笔记用于解决Android Studio导入Vitamio框架的问题.官网给出的相关说明过于简单,故整理这篇文章,希望能帮助到像我一样遇到这个问题的朋友. 开发学习建议参考农民伯伯的博客中的 ...
- android studio 导入一个已有的android studio project作为lib使用
android studio 导入一个已有的android studio project作为lib使用 新项目来了. 需要搭建框架. android studio对我来说还是很陌生,之前一个项目在同事 ...
- Android Studio导入System Library步骤
转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6242170.html 请尊重知识产权!!! 同步更新到CSDN:http://blog.csdn.net ...
- android studio 导入工程问题总结
github上下了几个开源项目,在导入android studio时出现各种问题, 在网上查询各种资料后一一得以解决,现对个问题点进行简单的总结: 1. gradle project sync fai ...
- Android Studio导入Eclipse项目和一些常见的问题
Android Studio版本 Eclipse项目工程:一个主工程,一个Emojicon依赖库. 有两种方式导入Eclipse工程: 1.兼容Eclipse 2.全新的Android Gradle ...
随机推荐
- 体验 ABP 的功能和服务
大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. ABP是一个全栈开发框架,它在企业解决方案的各个方面都有许多构建模块.在前面三章中 ...
- NEMU PA 3-1 实验报告
一.实验目的 在前面的PA1中,我们实现了CPU和FPU,在PA2中我们实现了对指令的解码和对ELF的装载,以及进一步完善了CLI调试器.那么在整个PA3中,我们将要着力于内存的相关处理,如Cache ...
- NC16666 [NOIP2006]开心的金明
题目链接 题目 题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只 ...
- python 中异常类型总结
异常类型: 异常名称 描述BaseException 所有异常的基类SystemExit 解释器请求退出KeyboardInterrupt ...
- C 语言常用头文件解释
C系统提供了丰富的系统文件,称为库文件,整理一下以后好实用: <stdio.h> 定义了三个变量类型.一些宏和各种函数来执行输入和输出 https://www.runoob.com/cpr ...
- IPFS Gateway Selector IPFS下载网关选择工具
简介 用IPFS作文件分享可以覆盖很多场景, 现在IPFS网关也相当多了, 但是因为国内网络的状况, 不同网关在不同网络运营商的表现差别很大, 导致你提供的下载链接在对方那里可能速度很慢, 甚至无法访 ...
- SpringBoot整合Groovy脚本,实现动态编程
Groovy简介 Groovy 是增强 Java 平台的唯一的脚本语言.它提供了类似于 Java 的语法,内置映射(Map).列表(List).方法.类.闭包(closure)以及生成器.脚本语言不会 ...
- django执行迁移文件报错struct.error: unpack requires a buffer of 4 bytes
问题: 我使用的版本说明 django:2.2版本 djangorestframework:3.11版本 python3.6版本 解决 查了下资料,没有很详细的说明,我是因为需要使用继承django自 ...
- window上使用Putty通过ssh远程连接并通过Xming实现X11图形界面功能
# 0.先确认远程服务器的ssh配置 >>> grep X11 /etc/ssh/sshd_config X11Forwarding yes #X11DisplayOffset 10 ...
- 深入解析Python并发编程的多线程和异步编程
本文分享自华为云社区<Python并发编程探秘:多线程与异步编程的深入解析>,作者:柠檬味拥抱. 在Python编程中,多线程是一种常用的并发编程方式,它可以有效地提高程序的执行效率,特别 ...