0x00 概论
历时4天,踩了所有的数据大坑,坑了清华源与GitHub近400GB的数据流量,在此表示抱歉……终于总结出来一个现阶段可以实现的编译与完整的同步必坑的文章。
阅读本文之前,您需要掌握的技能有:
技能名称 | 技能熟练度 | 技能教程链接 |
---|---|---|
Linux操作 | 了解 | 暂无 |
0x01前言之可看可不看的换源更新
因为某些原因,使用的外部源而不是当前的官方源,但是操作与官方源其实并无二致,如果使用官方源的情况下就不需要参考这些东西。可以直接去第二步。
个人手机是Chiron,所以这里参考了我的手机官方的链接: 官方教程。这里的讲述基本上可以帮助我完成90%以上的工作。
首先,需要一个靠谱的Linux,我个人比较喜欢Debian,所以下面的所有讲述都是按照Debian进行操作演示。而且全部的操作都定义在code的文件夹下的。
在确保源正常的情况下,使用APT包管理器进行安装,如果使用的是yum也可以直接使用yum安装
sudo apt install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev openjdk-11-jdk
这里要提一点,官方推荐的openjdk是7.0,但是实际测试发现Debian的openjdk11也是可以的。
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ./bin/repo
sudo chmod a+x ./bin/repo
mkdir lineage
cd lineage
并将repo加入环境变量文件~/.profile
中
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
然后就进行repo配置拖取
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/lineageOS/LineageOS/android.git -b lineage-17.1
随后进入./.repo/manifests/default.xml
,将
<remote name="github"
fetch=".."
review="review.lineageos.org" />
修改成
<remote name="github"
fetch="https://github.com/" />
<remote