[安卓][编译]Ubuntu 18.04.1 编译LineageOS 16.0 教程.md

1.开篇提醒

本文全篇使用普通用户账户($),当然管理用户也是可以的,不受影响


1. 工具下载

repo工具的下载与源码的初始化

1. 首先安装需要的依赖

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-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev

2. 下载repo工具

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

3. 建立工作目录并且进入工作目录

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
注意: "WORKING_DIRECTORY"可自行设置名称,作为工作目录

4. 初始化仓库

repo init -u https://github.com/LineageOS/android.git -b lineage-16.0
注意:部分仓库例如Lineage_framework_base同步的时候会出现bundle错误,
这时候可以使用命令repo sync --no-clone-bundle进行同步就没有问题了

5. 同步源码树:

repo sync
注意:务必确认在你设置好的工作目录中

2. 设置缓存

非必须,但是可以加速以后的编译速度,不用的话直接跳到第三大块

命令行运行,并且将它写入~/bashrc

export USE_CCACHE=1

然后,设置ccache最大空间使用量:

ccache -M 50G
注意:
其中50G对应50GB的缓存。这需要运行一次。
如果只为一台设备构建,那么25GB-50GB就可以了。
如果计划为多个不共享相同内核源的设备构建,请设置75GB-100GB。此空间将永久占用您的驱动器,因此请考虑到这一点

还可以启用可选ccache压缩。虽然这可能会导致性能略有下降,但它会增加适合缓存的文件数量

export CCACHE_COMPRESS=1

3. 配置参数

1. 配置jack内存使用量:

export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G"
注意:这里我们使用4G内存

4. 开始编译

我的手机为红米2,codename为wt88047,具体可以去LineageOS官网进行查询

1. 准备具体设备的代码(例如驱动,内核之类)

source build/envsetup.sh
breakfast your device codename
注意:确保在你的源码目录内

2. 添加vendor:

具体"device brand"可以去Github-Themuppets查询

<project name="TheMuppets/proprietary_vendor_your device brand" path="vendor/your device brand" remote="github" />

如果需要root权限:
(每次都要运行)

export WITH_SU=true

3. 开始编译

make bison
WIP
brunch your device codename
并且编译64-bit bison

5. 解决flex报错问题

echo "export LANG=C" >> ~/.bashrc
source ~/.bashrc

6. 编译完毕

cd $OUT
在那里你可以找到所有创建的文件。更感兴趣的两个文件是:
recovery.img  恢复映像文件
lineage-15.1-20180827-UNOFFICIAL-bullhead.zip   LineageOS安装程序包。

教程结束

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值