今天说说构建工具 depot_tools
----------------------------------------------------------------------------------------------------------------------
一分钟快速搭建 rtmpd 服务器: https://blog.csdn.net/freeabc/article/details/102880984
软件下载地址: http://www.qiyicc.com/download/rtmpd.zip
github 地址:https://github.com/superconvert/smart_rtmpd
----------------------------------------------------------------------------------------------------------------------
今天说说构建工具 depot_tools
depot_tools 的依赖:
请首先保证你的机器上装有 git 和 python,其实 depot_tools 下很多命令其实就是 bash 文件,最终去执行对应的 python 文件。比如:
fetch ---> fetch.py
gn ---> gn.py
gclient ---> gclient.py
代码下载时,又用到版本管理工具 git 或 svn 等
depot_tools 的作用:
对于 chrome 以及 webrtc 的编译都离不开一个构建工具 depot_tools,因 chrome 和 webrtc 项目过于庞大,依赖比较多,因此需要一个构建工具对其进行管理,以方便后续的开发人员,利用此工具快速下载代码,构建编译环境,并能正确编译。
因此 depot_tools 的作用就是:1. 下载,更新,同步代码2. 构建编译环境,利用 gn 生成 ninja 文件3. gn 生成的 ninjia 文件并通过工具 ninjia 进行最终编译成想要的目标
怎么下载 depot_tools :
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
我们把下载好的 depot_tools 下,配置对应的环境,其实就是把路径加到系统变量中(linux, Mac, Windows),这样我们就可以直接使用 fetch, gclient, gn, ninja 这些命令了
下载代码(webrtc 为例):
mkdir webrtc && cd webrtc
linux : fetch --nohooks webrtc
android: fetch --nohooks webrtc_android
ios: fetch --nohooks webrtc_ios
gclient sync
很大程度上都是不成功的,因为我们有伟大的 GFW 。国内有
声网镜像 https://webrtc.org.cn/mirror学而思镜像 https://gitlab.com/webrtc-mirror
fetch 是获取源码, glcient 基本上封装了 git 的一些功能,提供 git 多个仓库的批量操作。
编译源码(webrtc 的 android 版本为例):
安装依赖
cd src
export GYP_DEFINES="OS=android"
./build/install-build-deps.sh
./build/install-build-deps-android.sh
编译文件生成和编译
./build/android/envsetup.h
gn gen android/Release "--args=is_debug=false target_os=\"android\" target_cpu=\"arm64\""
ninja -C android/Release
我们定制底层的库后,就可以按上述步骤进行重新编译,使用了
常见错误及原因:
1. gn.py: Could not find checkout in any parent of the current path
这个一般都是 depot_tools 没有正确安装和初始化。
比如缺少 .gclient, .gclient_entries
2. Could not find gn.exe
这个一般都是 depot_tools 没有正确安装和初始化。
今天说说构建工具 depot_tools相关推荐
- webrtc】windows 构建 :depot_tools 采坑
chrome 开源项目的构建工具 depot_tools owt webrtc chrome 都需要这个工具作为构建脚本 之前在公司机器 整的,感觉很容易 可能公司默认是hk vpn环境吧 换了自己购 ...
- linux java 构建工具有哪些,Linux ant --强大的Java开发构建工具
用途说明 ant严格说来,ant其实并非原生的Linux命令,但它是一个使用广泛.功能强大的跨平台构建工具程序,尤其是进行Java开发时,许多开源的Java项目都使用ant作为构建工具.ant命令一般 ...
- scala构建工具sbt使用介绍
sbt工具下载及说明: https://www.scala-sbt.org/0.13/docs/zh-cn/Installing-sbt-on-Windows.html sbt是交互式构建工具,使用s ...
- iOS应用模块化的思考及落地方案(二)模块化自动构建工具的使用
1.0 iOS模块化中的问题 前文已经介绍了模块化的流程及一些常见的问题,我们在这里再次总结一下. 在工作中,当我们开始一个新项目的时候,最先考虑的就是模块化工作. 模块化工作的想法是很美好的,可是执 ...
- Maven官宣:干掉Maven和Gradle!推出更强更快更牛逼的新一代构建工具,炸裂!
欢迎关注方志朋的博客,回复"666"获面试宝典 来源:网络 相信作为Java开发者的你早已经受够了maven的编译缓慢,但是又由于历史包袱.使用习惯等问题暂时切换不了其他更快的构建 ...
- 下一代构建工具 Gradle ,比 Maven 强在哪里!
作者 :乐百川 本文:toutiao.com/i6824937779193971207 相信使用Java的同学都用过Maven,这是一个非常经典好用的项目构建工具.但是如果你经常使用Maven,可能会 ...
- 55 前端构建工具Gulp
技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.第三方模块Gulp Gulp:基于node平台开发的前端构建工具. 前端构建工具:将机 ...
- java+构建+工具+Ant+Maven+Gradle
java+构建+工具+Ant+Maven+Gradle Ant+Maven+Gradle+............ 目前: Ant已经销声匿迹.Maven也没落了,而Gradle的发展则如日中天. M ...
- 构建工具Gradle
1.Summary 从Android团队开始宣布放弃Eclipse转投Android Studio时,构建工具Gradle进入了Android开发者的视野.而随着热修复.插件化.编译时注解的流行, ...
最新文章
- 学什么都不容易!学好一样更不容易!
- python 语言教程(4)列表方法
- LDAP 中关于CN,OU,DC的含义
- 无线网卡的Master,Managed,ad-hoc,monitor等模式
- linux如何利用命令保存文件,如何在Linux中将命令输出保存到文件?
- 漫画:程序员真的是太太太太太太太太难了!
- Sqoop导入数据--split by 和 --m(大于1)配合使用
- 腾讯前端面试题:一言不合就写个五子棋
- 摊牌了,国内首个三维重建系列视频课程,涉及SFM、多视图几何、结构光、单目深度估计等...
- 二级c语言改错题库,二级C语言题库-改错题(参考).doc
- 极路由大部分机型官方固件
- 如何新浪微博html5,新浪微博接入Html5游戏 注重轻量碎片化
- 房价,经济转型,技术创新
- ​mybatis collection解析以及和association的区别
- differential privacy 学习笔记(一)
- thinkphp核心 伯乐发卡系统高级版PHP网站源码 已去授权无后门_已测
- 学习编程,这些好习惯带我们平步青云——直通大牛
- SIM卡的结构和类型
- 生物信息分析:从入门到精通结语
- 大气科学需要计算机能力吗,大气科学专业学什么