# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
保存后运行
source ~/.profile
四、安装依赖项
sudo apt update
先更新下软件包列表
sudo apt install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git git-lfs gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libelf-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
有报错解决掉再进行下一步!
lineageOS版本不同所需要的jdk版本也不一样
根据你的设备确认要安装的lineageOS版本https://wiki.lineageos.org/devices/
LineageOS 18.1+:OpenJDK 11
LineageOS 16.0-17.1:OpenJDK 1.9
LineageOS 14.1-15.1:OpenJDK 1.8
LineageOS 11.0-13.0:OpenJDK 1.7
五、配置git
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
六、开启缓存加速构建
export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccache
ccache -M 50G
七、设置lineageOS版本
cd Android
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/lineageOS/LineageOS/android.git -b cm-14.1
八、修改官方源为清华源
~/Android/.repo/manifests/default.xml 文件中
<remote name="github"
fetch=".."
review="review.lineageos.org" />
<remote name="github"
fetch="https://github.com/" />
<remote name="lineage"
fetch="https://mirrors.tuna.tsinghua.edu.cn/git/lineageOS/"
review="review.lineageos.org" />
<remote name="aosp"
fetch="https://android.googlesource.com"
<remote name="aosp"
fetch="https://mirrors.tuna.tsinghua.edu.cn/git/AOSP"
<default revision="..."
remote="github"
<default revision="..."
remote="lineage"
~/bin/repo 文件中
if not REPO_URL:
REPO_URL = 'https://gerrit.googlesource.com/git-repo'
if not REPO_URL:
REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
修改完后给虚拟机做个快照!
九、开始下载源码
repo sync -j16
-j 按照自己虚拟机配置来,如果遇到错误尝试降低线程。
下载需要一段时间。现在已经完成了第一部分,还需要获取设备独有的二进制文件,后续文档会讲。
CA证书相关
Downloading Repo source from https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/
fatal: 无法访问 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/':server certificate verification failed. CAfile: none CRLfile: none
repo: error: "git" failed with exit status 128
设置lineageOS版本时可能会遇到,将https 替换为hppt 配置文件以及 repo init时都需要换。
如果是下载repo工具时遇到,curl 后面加 -k 跳过验证即可。
Python 相关
因为在repo工具中,根据不同的lineageOS版本,也会使用不同版本的python,建议在ubunt中同时安装python2跟python3,sudo apt install 即可,repo会自己调用。如果碰到python语法问题下载完再试一下。
依赖项报错
安装依赖前需要更新下软件包列表。可以使用国内源。出现异常如果解决不了建议全部卸载,更换国内源,update以后重新安装。
编译过程中的依赖报错先不在这里叙述。
由于CM团队不在提供服务而转战lineageOS,我们仍可以通过构建一个lineageOS来对Android源码进行学习。下面就对如何构建一个lineageOS的具体步骤进行一个描述,并且把我所遇到的问题进行展示,希望能够帮到同样需要学习的人。
首先你需要一台Nexus6手机并且刷入了最新的lineageOS,我刷入的系统为14.1版本,具体如何刷入lineageOS
https://blog.csdn.net/weixin_46160898/article/details/122966746
https://mirrors.tuna.tsinghua.edu.cn/help/lineageOS/
https://wiki.lineageos
https://wiki.lineageos.org/devices/lemonadep/install
https://wiki.lineageos.org/devices/lemonadep/install
做Android的伙伴往往都需要编译Android的源码,之前使用过编译过AOSP源码,搭配 Hikey 系列开发板 和 Pixel系列手机使用,编译AOSP源码和刷镜像的过程太过繁杂,经常会出现各处error,而且新版本的编译方式变化较大。
最近接触LIneageOS,编译烧录都
lineageos 前奏 -- 搭建编译环境
我目前使用的手机是红米note4x 目前lineageos15.1已经官方支持,下文是按照官网文档编译安装包操作总结
构建环境搭建主要参考官方文档
参考文档: https://wiki.lineageos.org/devices/mido/build
下面对主要步骤进行简单说明(以ubuntu为例)
依赖软件包 (ubuntu16.04测试官网给出的列...
sudo apt-get update
https://github.com/MiCode/Xiaomi_Kernel_OpenSource
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/lineageOS/LineageOS/android.git -b cm-14.1 --repo-url=https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
14.1 可以
https://www.free
1.下载清华源的 repo
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
chmod +x repo
../repo init --depth 1 -u https://mirrors.tuna.tsinghua.edu.cn/git/lineageOS/LineageOS/android.git -b lineage-18.1
../repo sync -c --no-tags -j8
选择设备信息,并从github上