可口可乐网站建设海口网站建设做网站

bicheng/2026/1/23 8:40:52/文章来源:
可口可乐网站建设,海口网站建设做网站,深圳响应式网站制作,做网站为什么要备案文章目录 1.概述2.Android源下载1.配置环境变量2.安装curl3.下载repo并授权4.创建一个文件夹保存源码5.设置repo的地址并配置为清华源6.初始化仓库7.指定我们需要下载的源码分支并初始化 2.1 使用移动硬盘存放Android源码的坑2.2 解决方法 3.Android源码编译4.Android源烧录 1.… 文章目录 1.概述2.Android源下载1.配置环境变量2.安装curl3.下载repo并授权4.创建一个文件夹保存源码5.设置repo的地址并配置为清华源6.初始化仓库7.指定我们需要下载的源码分支并初始化 2.1 使用移动硬盘存放Android源码的坑2.2 解决方法 3.Android源码编译4.Android源烧录 1.概述 做了四五年的android应用层开发后想研究下底层源码的实现所以想下载源码研究下但是万事开头难源码下载的过程非常坎坷我使用的是双系统(ubantu 和windows),主机的固态只有1TB而android的源码下载完一个版本也有几百个G。所以我想到了使用移动硬盘来保存下载的Android源码。也就是这个决定让我折腾了两个多月。所以本文主要介绍整个下载源码编译到刷机的教训。 2.Android源下载 根据网上的教程我做了如下的配置准备下载源码这里默认读者已经安装git 工具未安装的可以百度安装下。很简单这里就不废话了另外下载源码的脚本中用到了Pyton,所以需要配置好python环境python有两个版本python2和python3,我建议读者可以都安装百度上有一种可以同时安装python2和python3的方法然后可以自动切换两个python的版本都安装的原因是我们下载源码的时候需要使用python3,而编译android源码的时候有时候需要使用python2比如android10 的源码就是这样的,安装好了可切换的python环境后是这样的 1.配置环境变量 kdir ~/bin echo PATH~/bin:\$PATH ~/.bashrc source ~/.bashrc2.安装curl sudo apt-get install curl3.下载repo并授权 因为android的源码特别大所以是使用repo工具管理不理解repo工具的可以去android官网或者百度了解这里不做讲解。 curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo ~/bin/repo chmod ax ~/bin/repo4.创建一个文件夹保存源码 在这里我下载的是android9.0的源码其实下载那个版本的都一样只要把后面的分支名字改了就可以而这些分支名字的获取地址为android代号、标记、build号 打开上面的地址后如下 上图中选中的地方就是我下载源码对应版本的分支名称我们只需要复制它放到后面下载命令中就可以了 然后我们新建一个目录准备开始下载源码 5.设置repo的地址并配置为清华源 由于一些特殊原因在咱们国家无法直接访问国外的网所以需要我们使用国内镜像清华镜像或者中科大的镜像都可以下载android源码如果有VPN 可以翻墙的小伙伴也可以直接下载源码具体的下载方法就是把下面的地址换成google官方的android源码地址即可在我们新建的存放源码的目录下打开命令行执行下面的命令 export REPO_URLhttps://mirrors.tuna.tsinghua.edu.cn/git/git-repo/6.初始化仓库 repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest7.指定我们需要下载的源码分支并初始化 repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r46上面命令中的android-9.0.0_r46 就是第4步中获取到的分支名 运行上面的命令成功后如下 最后执行命令 repo sync开始同步代码同步可能需要很长的时间而且中间还可能会出错出错的原因大多数都是网络一直同步代码就行了具体的坑请看下面的内容,下载成功后的结果如下所示: 2.1 使用移动硬盘存放Android源码的坑 我开始下载源码选择移动硬盘是想着可以将源码携带着随时都能看而且还解放了我的主机的存储空间想法非常的丰满但是现实很骨感当然归根结底也是因为我穷如果一开始我直接就将电脑的所有配置拉满应该不会这么坎坷。我使用移动硬盘将其格式化成NTFS格式然后去下载源码下载的过程很长刚开始的时候下载老是报错因为一下载源码就会在本地被莫名奇妙的修改文件导致老是和线上的代码冲突报错最后我发现了一招可以解决这个报错就是把所有本地的修改强制回退一个版本然后再拉就成功了。命令如下所示 repo forall -c git add -A repo forall -c git reset HEAD^^^ --hard repo sync这一通操作下来终于显示代码下载成功了我以为我的快乐已经到达了顶峰可是现实给了我一逼兜。当我准备编译源码的时候发现无法编译因为我拉的源码不全罪魁祸首就是文件系统的问题由于移动硬盘使用的是NTFS 文件系统导致在Ubantu中有部分文件无法识别也就是无法创建所以下载的文件会有缺失由于是编译的时候出错我打开了blueprint目录在这个目录下使用git命令回退版本拉取最新代码时发现报错错误大概意思就是无法创建文件名为*号的文件夹。然后我在另一个Ubantu本机目录下载blueprint,然后对比android源码目录中的发现确实少了好几个目录所以导致了编译不成功。自此移动硬盘存放android源码并且编译的这条路被彻底堵死。所以想这么干的小伙伴可以停止你的想法了。 2.2 解决方法 既然无法使用移动硬盘我们就只能是使用Ubantu的系统的存错来存放android源码但是我们的系统固态硬盘只有1TB所以解决办法就是扩容为此我花巨资买了一个固态硬盘安装上后下载代码贼快编译也是一把过就是一个字爽再提一句主机下载代码最好连接网线不要用无线网卡会很慢 3.Android源码编译 源码下载完后就是编译编译网上会有一堆教程这里就给大家简单介绍下注意点网上的有些教程会让你扩大交换空间就是执行 sudo fallocate -l 1G /swapfile这个命令切记不要随便用如果你的系统空间本来就紧张的话使用这个命令会导致你系统重启的时候一直卡在启动页连恢复模式都进不了 编译源码需要安装依赖百度网上一堆这里随便列一个吧 sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g-multilib sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev sudo apt-get install git-core gnupg flex bison gperf build-essential sudo apt-get install zip curl zlib1g-dev gcc-multilib g-multilib sudo apt-get install libc6-dev-i386 sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4 sudo apt-get install lib32z-dev ccache sudo apt-get install libssl-dev安装JDK sudo apt-get install openjdk-8-jdk编译源码还需要对应的Python环境这里我们配置好可切换的python后切换即可例如如果是android10使用python2我的办法就是先编译源码如果python脚本报错我就切换另外一个python环境。 编译代码之前还需要我们去下载对应的驱动二进制文件android 对应驱动二进制文件下载完后会得到两个可执行的bash脚本然后我们将其复制到源码目录执行生成vendor目录。 如上图所示就是图中选中的两个文件。执行完后我们准备编译源码 编译的命令如下 //1.设置环境变量 source build/envsetup.sh //2.使用lunch命令选择对应的源码配置 lunch // 3.开始编译 make -j8 // 可以是-j4 或不带参数然后接下来就是漫长的等待编译完成。 如果想要清理上次的编译产物我们可以执行命令 make clobber然后删除生成的out目录就可以了 4.Android源烧录 编译完源码后就是烧录进手机了我们要想往手机中烧录代码必须要求手机可以进行oem解锁解锁完后使用命令进入bootloader模式 adb reboot bootloader然后进入我们编译的结果目录 上图是我编译android10源码后生成的目录其他版本的源码结构也差不多哦这里我使用的是模拟器的方式因为我买的google pixel一代太垃圾刷了后时好时坏的我的目的是了解这个过程所以我就使用了模拟器。不过使用真机刷机一定要注意不然手机就成砖了就是千万不要在刷机的过程中使用fastboot命令锁oem 千万不要千万不要因为开启oem是需要你的手机能开机进入系统设置的万一你刷机不成功又无法今日系统然后你的手机oem还锁了那就没救了。所以要刷机的小伙伴注意了。只要oem不锁随便刷刷坏了可以去找对应的原厂镜像包刷来恢复。这里给出google pixel 和nexnus的原厂镜像包地址google pixel 和nexnus的原厂镜像包地址 使用模拟器的方式编译源码的时候我们可以直接运行命令emulator就可以打开模拟器啦 这些就是我的下载AOSP 源码之路的坑和教训如果读者还经历过其他坑的话欢迎评论区交流。本文到此结束

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

许昌网站制作公司网站建设要买哪些软件

"香港服务器"和"香港云服务器",是两种不同的香港区域的服务器,免备案,都有各自的优势和适用场景,取决于您的需求和预算。以下是它们的一些区别和特点: 香港服务器: 物理服务器&#xf…

办个人网站租空间怎么选择赣州网站建设

1.运算符重载 • 当运算符被⽤于类类型的对象时,C语⾔允许我们通过运算符重载的形式指定新的含义。C规定类类型对象使⽤运算符时,必须转换成调⽤对应运算符重载,若没有对应的运算符重载,则会编译报错;(运算…

聊城网站建设哪个好wordpress编辑用户头像

摘要: 本笔记分析了使用预训练的模型生成文本的示例代码。它的步骤如下: 使用已加载的分词器 tokenizer 对输入文本进行处理,转换为模型可以理解的格式。输入文本是国家和首都的信息,最后一句是未完成的,需要模型来生成。将处理后的输入转移到模型所在的设备上(例如GPU或…

网站logo是什么意思潘虎设计公司

mac还是使用brew install简单一些;最好使用一种安装方式,不要多种方式互用; 更新npm到最新版本npm install -g npm更新npm到指定版本 npm -g install npm2.9.1指定安装目录npm install --prefix /usr/local -g npm 1、从官网https://nodejs.o…

做互联网交易网站的条件建立网站需要注意什么

《C新经典设计模式》之第19章 职责链模式 职责链模式.cpp 职责链模式.cpp #include <iostream> #include <memory> #include <string> using namespace std;// 请求传递给链中的若干对象&#xff0c;哪个对象适合处理就自行处理 // 使多个对象都有机会处理请…

最便宜的网站建设WordPress图片方案

AI 使用大型语言模型&#xff08;LLM&#xff09;来理解和生成自然语言。LLM 可以从大量文本中学习并创建有关各种主题的文本&#xff0c;并可以完成比如编写代码、生成歌词、总结文章等任务。但有些 LLM 相关课程成本高昂且封闭&#xff0c;而现有的开放课程数量十分有限。这就…

成都创新互联科技有限公司长沙seo推广营销

一&#xff1a;背景 一直在用 WinDbg 调试用户态程序&#xff0c;并没有用它调试过 内核态&#xff0c;毕竟不是做驱动开发&#xff0c;也没有在分析 dump 中需要接触用内核态的需求&#xff0c;但未知的事情总觉得很酷&#xff0c;加上最近在看 《深入解析 Windows 操作系统》…

微信制作网站设计wordpress网站换域名

1 教学实训总体设计 1.1 建设背景 &#xff08;一&#xff09;政策推动与战略部署 近年来&#xff0c;物联网技术在全球范围内得到了广泛的关注和应用。作为信息技术的重要组成部分&#xff0c;物联网在推动经济转型升级、提升社会管理水平、改善民生福祉等方面发挥着重要作…

网站中的宣传册翻页动画怎么做在深圳注册公司流程及费用

目录 一、网络配置命令 1.ifconfig——IP地址 1.1ifconfig的基础用法 1.1.1ifconfig命令详解 1.2常用格式 1.3修改网卡名称 1.3.1临时修改 1.3.2永久修改 1.4临时修改网卡 1.4.1设置虚拟网卡 1.4.2延伸——ethtool 1.5永久修改网卡 1.6实验 —— 双网卡配置 1.…

青岛php网站建设网站怎样做关键词优化

参考资料&#xff1a;用python动手学统计学 1、t统计量 t统计量的计算公式为&#xff1a; 其中&#xff0c;为样本均值&#xff0c;μ为总体均值&#xff0c;为实际样本的无偏标准差&#xff0c;N为样本容量。 t统计量的公式与标准化公式类似。t统计量可以理解为对样本均值…

wordpress网站静态化在线查看网站源码

实验五&#xff1a;AAAI 会议论文聚类分析 ​ 本次实验以AAAI 2014会议论文数据为基础&#xff0c;要求实现或调用无监督聚类算法&#xff0c;了解聚类方法。 1 任务介绍 ​ 每年国际上召开的大大小小学术会议不计其数&#xff0c;发表了非常多的论文。在计算机领域的一些大…

如何查看vs中建设好的网站开通招聘网站如何做分录

2023年8月30日&#xff0c;EESA第二届中国国际储能展览会在苏州国际博览中心拉开帷幕&#xff0c;科士达以“零碳光储数能未来”为主题&#xff0c;亮相G3-20展台&#xff0c;多维度展现户用光储、工商业储能、大型储能等解决方案&#xff0c;彰显安全、高效、可靠的产品性能和…

一起做网站广州下载中心官方网站建设银行

1、匿名对象 匿名&#xff1a;没有名字 生活层面&#xff1a;匿名投票、匿名信... 程序层面&#xff1a; 有名对象和匿名对象 有名对象&#xff1a; 理解&#xff1a;有名字的对象 模板&#xff1a; 数据类型 对象名 new 数据类型(...); 匿名对象&#xff1a; 理…

关于网站建设的好处网站建设教程主页

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》作者 公众号:山峯草堂,非技术多篇文章,专注于天道酬勤的 Java 开发问题、中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 转载说明:务必注明来源(注明:…

天津平台网站建设推荐北京百度seo排名点击软件

1 命名规范 1.1 Go是一门区分大小写的语言。 命名规则涉及变量、常量、全局函数、结构、接口、方法等的命名。 Go语言从语法层面进行了以下限定&#xff1a;任何需要对外暴露的名字必须以大写字母开头&#xff0c;不需要对外暴露的则应该以小写字母开头。 当命名&#xff08…

淄博企业网站建设网页升级紧急通知区域

这是我去额尔古纳的公路上&#xff0c;隔着车窗拍摄的照片。三幅照片可以感觉时间的变化&#xff0c;从午后到黄昏&#xff0c;光和色彩逐渐朦胧凝重&#xff0c;像蒙古画家朝戈的油画。这样的景象在草原上随处可见。沙石路只有在草原的深处可以见到&#xff0c;坐在车里身体会…

.net开发网站的优点网站建设广告平台推广

Python2 与 Python3 print 不换行 分类 编程技术 本文主要介绍在 Python2 与 Python3 下 print 实现不换行的效果。 Python 3.x 在 Python 3.x 中&#xff0c;我们可以在 print() 函数中添加 end"" 参数&#xff0c;这样就可以实现不换行效果。 在 Python3 中&a…

游戏网站建设视频教程老网站做seo能不能重新注册

我最近读了一个非常聪明的技巧来完成你所要求的工作。简而言之&#xff0c;你只需要使用text-align&#xff1a;justify;在容器元素上实现这一点&#xff0c;结合一个额外的不可见块。这是因为内联块元素被视为文本内容的一部分&#xff0c;每个元素实际上是单个单词。使用对齐…

苏州建设公司网站建设奇迹网站架设视频

反转单链表 题目描述 题目分析 先来说迭代的思想&#xff1a; 上面next cur->next应该放在cur->next pre前面执行&#xff0c;这里笔误 再来说递归的思想&#xff1a; 题目代码 这个代码里面我加了我自己写的测试数据&#xff0c;自己可以去找对应的部分&#xff0c…

机场建设相关网站站长工具网站排名

前言 只要你的小程序超过一个页面那么可能会需要涉及到页面参数的传递&#xff0c;下面我总结了 4 种页面方法。 路径传递 通过在url后面拼接参数&#xff0c;参数与路径之间使用 ? 分隔&#xff0c;参数键与参数值用 相连&#xff0c;不同参数用 & 分隔&#xff1b;如…