Android10.0源码下载

2023-05-16

平台:Ubuntu20.04.3Lts

Android版本:10.0

镜像使用:科大讯飞 AOSP 镜像使用帮助 — USTC Mirror Help 文档(清华镜像我用的时候repo manifest失效404)

1.代码下载

1.1 git下载配置

//下载安装git,这个步奏应该都会的,没难度
sudo apt-get install git
//配置git的name和email
git config --global user.name "xxxx"
git config --global user.email "xxxx@126.com"

1.2 repo工具下载

//吐槽:一开始用的网上的清华网址,发现repo中是404无法找到资源,不知道是和当时的网络有关还是啥后来换成了科大的

//新建bin文件夹
mkdir ~/bin
//将repo添加到环境变量中,方便后面全局都可以用
PATH=~/bin:$PATH
//下载repo文件,在下载之前如果没有安装curl工具的话,很简单,用sudo apt-get install curl装好,这个地方吐槽下,只用全面的repo不加后面master的话,下载下来的repo里面为网页内容,所以还是按照下面的命令执行下载repo吧
curl -sSL  'https://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' |base64 -d > ~/bin/repo
//赋予权限,这一步不需要纠结
chmod a+x ~/bin/repo

1.3 新建工作目录(你爱建哪儿就建哪儿)

mkdir work
cd work

1.4 初始化仓库

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
## 如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:
## REPO_URL = 'https://gerrit.googlesource.com/git-repo'
看到repo has been initialized in /home/lirongchen/work输出就ok了

//接下来准备下代码咯
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b  android-10.0.0_r3

//开始下载吧,参考大佬备注:同步镜像,j4 指定线程数量,线程数量=CPU核心数*2,开始漫长的等待
repo sync -j4

//坑坑坑,这一步如果报了这个错,只需要执行一次CP动作(已经提示好了):cp /home/lirongchen/work/.repo/repo/repo /home/xxx/bin/repo
repo: Updating release signing keys to keyset ver 2.3

... A new version of repo (2.29) is available.
... You should upgrade soon:
    cp /home/lirongchen/work/.repo/repo/repo /home/lirongchen/bin/repo


Your identity is: xxx <xxx@126.com>
If you want to change this, please re-run 'repo init' with --config-name

//成功啦成功啦,下载完成

//下载下来的目录如下

小结:感觉也没什么难的,主要是找对镜像,按步骤操作就行了,期间又安装了一个python和vim,用vim改了一下REPO_URL = 'https://gerrit.googlesource.com/git-repo' 

2 源码编译

2.1这一步很简单,先安装一堆依赖,网上百度一堆,复制粘贴回车

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 lib32z-dev ccache
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev
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

2.2安装好上面的依赖后,进入关键信息啦

cd 到源码目录中执行以下命令

source build/envsetup.sh //这一步的作用是加入可执行指令,比如后面的lunch
lunch aosp_x86-eng
make -j32(这里的32取决于你电脑的CPU,一般j4就行了,我是因为用的是服务器编译的)
//最后执行emulator启动模拟器
emulator
//这一步执行完了,理论上你就能看到丑陋的原生界面了,啥也没有

小结:由于找人给我开了个服务器,编译这块我本地电脑花了差不多7个多小时编译成功了,后来在服务器上编译,只需要40分钟左右就编译好了,不得不说服务器牛逼啊

3.接下来的步奏就个人自己探索了

目标1:用AS创建虚拟机,然后用自己刚才编译的img文件替换掉AS自己下载的img,也就是启动的虚拟机是自己编译出来的

目标2:更改Settings模块,在里面oncreate加一行log,然后单编Settings模块,替换掉系统的

目标1开始:

3.1这一步我先用AS创建了一个虚拟机,记住这一步在选择CPU架构的时候一定要选择和你编译时候选择的架构一样,比如我编译的都是x86平台的,正常的下载呗,最后启动成功

3.2从服务器上下载自己编译好的img来替换掉as生成的,替换的目录如下:

/Android/sdk/system-images/android-29 (android-29是因为我下载的是10.0的对应的就是29的文件夹)

需要替换的文件如下,记住:::要用编译好的-qemu.img结尾的来替换,同时替换的时候要将-qemu.img给去掉,比如替换system.img文件,你需要用编译好的system-qemu.img,然后重命名为system.img,替换掉sdk里面的system.img,其他的同样操作,还有build.prop文件在system目录下,直接将其拷贝到sdk下面,一定要替换这几个文件,不然模拟器起不来

advancedFeatures.ini
system/build.prop
encryptionkey.img
kernel-ranchu-64
ramdisk-qemu.img
system-qemu.img
userdata.img
vendor-qemu.img
VerifiedBootParams.textproto

至此目标1实现

接下来开始搞目标2

3.3单编Settings模块

source build/envsetup.sh //这一步的作用是加入可执行指令,比如后面的lunch
lunch aosp_x86-eng
mmm package/apps/Settings/
//编译出的APK文件我找了好久,最后在/out/target/product/generic_x86/system/product/priv-app/Settings/下面
如果找不到可以用find命令
find . -name 'Settings.apk'

然后就是替换,

adb root 这一步非常简单,没有问题

adb remount 这一步不行,么有权限

//用adb remount最好用emulator命令启动模拟器,as直接启动我还没试过,回头试一下通过这种方式能不能remount成功
//用命令emulator启动会报错:Missing emulator engine program for 'x86'
//翻了好久的百度终于找到一个可以使用的
//将sdk/emulator这里面的所有文件拷贝到sdk/tools下面,重复的直接替换,然后关闭掉cmd窗口,重新打开

//adb remout 
//1.用这个命令 emulator -writable-system -avd 'name'启动模拟器
emulator -writable-system -avd Pixel_XL_API_29
//第二步,执行adb root
adb root
//第三步,重启
adb reboot
//第四步,起来后再次adb root
adb root
//第五步,执行adb remount成功
adb remount
//第六步,替换apk
adb push xxx.apk /system/product/priv_app/Settings/
//第七步,重启
adb reboot
//第八步,见证奇迹
AS logcat查看日志,自己加的日志成功啦

 经过实践:想要启动的模拟器支持remount,必须使用“emulator -writable-system -avd Pixel_XL_API_29”这个命令启动方可,记下来自己随便造吧!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android10.0源码下载 的相关文章

  • Android10.0(Q) 6765 USB 摄像头调试记录

    过程 开整之前 xff0c 按习惯去 FAQ 上一顿搜索 xff0c 都是些低版本的改动记录 xff0c 后来得知高版本对 USB Camera这块的支持太少了 FAQ 上淘到一个6 0的改动方法 xff0c 照着试了试发现不行呃 后来经过
  • 20220315在MT6739的android10下打开gpio节点

    20220315在MT6739的android10下打开gpio节点 2022 3 15 11 38 1 完整编译MT6739的android10 xff1a time oneCmdMake 9186TOF S5080BS SKY MV88
  • 20220320在MT6739的android10下调试GPIO引脚

    20220320在MT6739的android10下调试GPIO引脚 2022 3 20 10 48 1 完整编译MT6739的android10 xff1a time oneCmdMake 9186TOF S5080BS SKY MV88
  • Android10 系统 Framework 中定制实现开关机动画实践

    文章目录 写在前面 需求背景 主要问题 接口测试 权限问题对比测试 最后实现方案 其他问题 总结 写在前面 本文主要记录了在Android 10 系统 定制开关机动画时遇到的权限 读写 问题以用开关机动画资源的流程 文件要求等问题 涉及知识
  • Android10中Webview显示Description:net::ERR_CLEARTEXT_NOT_PERMITTED解决办法

    开发的APP xff0c 我的手机Android 7的开发调试都挺好的 发布给同事测试 xff0c 就报错 xff0c 无法正常加载页面 报错 xff1a Description net ERR CLEARTEXT NOT PERMITTE
  • Linux中C语言标准库glibc源码下载

    在这篇文章理清gcc libc glibc libc 43 43 libstdc 43 43 的关系 xff0c 我们大概理解了libc xff0c glibc之间的一些关系 下面我们就开了解一些Linux中C语言标准库glibc源码 在这
  • glibc源码下载

    转自 xff1a glibc源码下载 amp 在线阅读地址 windyf2013的博客 CSDN博客 glibc源码 glibc源码下载地址 http ftp gnu org pub gnu glibc http www gnu org s
  • uC/OS-III源码下载(版本2009-2021)

    uC OS III源码下载 xff08 新版网站 xff09 下载方式一 官网 xff08 即GitHub方式 xff09 二 CSDN 下载方式 一 官网 xff08 即GitHub方式 xff09 链接 uCOS3官网 点击CODEBA
  • AOSP 源码下载

    版权声明 xff1a 本文为博主原创文章 xff0c 未经博主允许不得转载 https blog csdn net wuxiaolongtongxue article details 85269284 网上关于这块大部分教程都是无效的 xf
  • Linux中C语言标准库glibc源码下载

    在这篇文章理清gcc libc glibc libc 43 43 libstdc 43 43 的关系 xff0c 我们大概理解了libc xff0c glibc之间的一些关系 下面我们就开了解一些Linux中C语言标准库glibc源码 在这
  • UC/OS-II 源码下载【资源】

    目录 1 前序 2 官网下载源代码 3 STM32F1示例代码 1 前序 你是不是也在学习ucos相关知识 xff0c 想要去网上下载源码 xff0c 但是又不知道去哪里下载 xff0c 网上冲浪大半天也没找到源码 xff0c 结果键盘无故
  • Android10.0(Q)新特性和行为变更

    Android Q 还为开发者们带去了许多新功能 xff0c 如折叠屏增强项 新网络连接 API 全新的媒体解码器 摄像头新功能 NNAPI 扩展 Vulkan 1 1 图形支持等等 2019 4 Beta2版本发布 点击查看Google官
  • 风车IM即时通讯聊天系统源码_聊天APP_附APP_带安装教程

    风车IM即时通讯聊天系统源码 聊天APP 附APP 带安装教程 风车im 是一款独立服务器部署的即时通讯解决方案 可以帮助你快速拥有一套自己的移动社交 企业办公 多功能业务产品 独立部署 加密通道 牢牢掌握通讯信息 前端开发语言 VUE 安
  • MySQL 哈希索引、空间数据索引、全文索引

    1 哈希索引 哈希索引基于哈希表实现 仅支持精确匹配索引所有列的查询 对于每行数据 存储引擎都会对所有的索引列计算出一个哈希码 哈希索引将所有的哈希码存储在索引中 同时保存指向每个数据行的指针 1 1 存储结构 常见的存储引擎中 MEMOR
  • Android10填坑适配指南,实际经验代码,拒绝翻译

    Android10填坑适配指南 包含实际经验代码 绝不照搬翻译文档 1 Region Op相关异常 java lang IllegalArgumentException Invalid Region Op only INTERSECT an
  • 免费源码和免费教程,有需要的收藏(第一期)

    注 本文有一些推广 但保证全免费 绝对没有收费的情况 免费资源 CI框架PHP漫画小说二合一CMS网站系统源码 WordPress导航主题 Haoz1234导航主题v1 2版本 上传即可使用的在线人工智能对话机器人源码 搭建属于自己的情侣博
  • 你如何使用Python制作网站?

    在本文中 我们将讨论如何使用Python制作网站 Python 是一种 1991 年的编程语言 在过去十年中越来越受欢迎 如今 Python编码器在计算机行业中的需求量很大 Python是一种通用编程语言 这意味着它几乎可用于开发任何类型的
  • 最新酒桌小游戏喝酒小程序源码_带流量主源码下载

    2022最新酒桌小游戏喝酒小程序源码 带流量主 喝酒神器3 6 我修改增加了广告位 根据文档直接替换即可 原版本没有广告位 直接上传源码到开发者端即可 通过后改广告代码 然后关闭广告展示提交 通过后打开即可 下载地址 最新酒桌小游戏喝酒小程
  • 全功能tgbot/Telegram机器人多功能有后台版源码

    全功能tgbot telegram机器人多功能有后台版源码 打包好的可以直接上手 trx兑换 闪兑 关键字监控 群管 usdt监控 余额查询 推广分享 等几乎常见的tg机器人功能都有
  • Typecho 最新XC主题 去除域名授权全解密源码

    简介 Typecho 最新XC主题 去除域名授权全解密源码 这是一款多样式主题 首页支持六种主题样式 支持Pjax优化访问速度 多种单页 如友链 说说等 评论支持表情 自定义编辑器 支持其他样式功能 该主题功能性挺高 比较花里胡哨 感觉有一

随机推荐