Android 9 源码拉取,编译,烧录详细步骤 | 您所在的位置:网站首页 › 钓鲶鱼用啥鱼饵 › Android 9 源码拉取,编译,烧录详细步骤 |
前言
今天学习碰到了一个烧录一台Google太子手机(pixel 3xl)。具体操作步骤可以往下看,基本为傻瓜式操作步骤,如果有遗留的问题可以评论一块分享解决。 编译环境 ubantu 18版本(本人用的是18). 源码拉取前景准备 openjdk1.8 sudo apt-get install git sudo apt-get install git git config --global user.email “[email protected]” git config --global user.name “xxxxx” repo搭建安装 mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo 此处的云有两个我用的是清华云,还有个云是北科大的云,具体用哪个还是自己判别 export REPO_URL=‘https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/’ 建议配置环境变量为系统环境变量 以上的~ 均可为绝对路径地址。 记得刷新环境变量 source /etc/profile (我配置的是系统的环境变量,可自行判别) 初始化repo repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest 指定安卓版本 repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r11(我测试用的是r_11 --> Picxl 3) 同步源码 repo sync 编译步骤 首先配置环境 openjdk1.8安装所需要的安装包 sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g+±multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip 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(这里面的包可能有重复的,可能会有部分库编译的时候适配不同版本,我这个是我踩坑之后发布的文章,具体那个原因我当时标注的也模糊,后续可以一块讨论) 安卓9的驱动,对应的版本可以去官网去下载(没有驱动的话,手机烧录完毕之后会成为一个砖)(https://developers.google.com/android/drivers#bluelinepq3a.190801.002)(需要翻墙) 下载完对应的驱动之后 (此处下载完是tgz压缩文件) 执行tar -zxf xxx.tgz 解压完是一个.sh文件,直接放在安卓文件的根目录即可 运行 ./xxx.sh 可以获得vendor文件夹 source build/envsetup.sh 初始化编译环境 lunch Would you like num():选择编译模式 开始编译 make (建议单线程,出问题好排。–> 网上评价双线程最好,但是超过双线程可能会出现卡死的现象,用法就是 make -j2 (此处的2为多少线程一起启动) ) 出现提示 make completed success fully ### 即为编译完成。 生成的out文件即为编译后的包(out/target/product/) .img文件 ( userdata.img , system.img , boot.img ) 烧录步骤(首先确保开发者模式以及调试模式已开启) 先检查设备 $ adb devices (此处如果出现你的设备编号加上device 说明设备已经准备就绪) 在编译完成了之后,进入到out目录下,会有boot.img, userdata.img, system.img 连接手机,安装好驱动后,usb调试连接电脑,使用adb命令重启到fastboot,进入刷机模式: $ adb reboot bootloader 进入fastboot后执行双清 ( Picxl3 会出现这种情况 FAILED (remote: variable not found) ) $ fastboot format cache $ fastboot format userdata 执行烧录 ( 默认执行fastboot reboot 第五步操作可忽略) $ fastboot flashall -w 烧录结束后 $ fastboot reboot 完整的编译以及烧录步骤就是这样,第一次写文章图片不知道怎么插入,后续学一学然后在重新更新一版,排版也有点问题,请大家不要喷。最后如果有错误的话,可以在下方评论,我已经将Android 9 还有安卓7 都已经烧录成功了。祝大家成功!!! |
CopyRight 2018-2019 实验室设备网 版权所有 |