记录一下编译红米1s C/W (armani)Lineage OS的过程
来源:互联网 发布:sql注入绕过安全狗 编辑:程序博客网 时间:2024/05/01 09:57
参考于这篇文章
https://www.isthnew.com/build-lineageos
编译必备软件都已装好
1.设置repo
$ mkdir ~/bin$ PATH=~/bin:$PATH$ curl https://download.mokeedev.com/git-repo-downloads/repo > ~/bin/repo$ chmod a+x ~/bin/repo
2.建立LineageOS目录并同步源码和依赖
$ mkdir ~/LineageOS$ cd ~/LineageOS
2(1.安装LineageOS的repo
$ repo init -u git://github.com/LineageOS/android.git -b cm-14.1
2(2.同步代码
$ repo sync
2(3.同步完成后执行(”device name”为你的机器型号)
$ cd ~/LineageOS $ . build/envsetup.sh$ breakfast armani
这步是同步你的手机相关代码,不过完成后需要加入你机器的厂商vendor文件,可以从手机上获取,也可以在这里找到https://github.com/TheMupp
从手机导入专有文件:
./extract-files.sh
如我是编译LG D802的ROM,就在上面的地址找到lge的vendor按照下面格式(name=”github路径” path=”本地路径”)把他加入 ~/LineageOS/.repo/local_manifests/roomservice.xml
中
<project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="cm-14.1" />
之后在repo sync
就会把这些文件同步到vendor/lge
文件夹中
开始编译
设定缓存加快编译
$ export USE_CCACHE=1$ ~/LineageOS/prebuilts/misc/linux-x86/ccache/ccache -M 50G
开始编译
$ . build/envsetup.sh$ brunch "device name"
如果编译成功,Zip包可以在~/LineageOS/out/target/product/
中找到;如果不成功,善用Google。
1月26日更新(不可用):LineageOS默认取消了ROOT,如果希望编译的ROM自带ROOT,需要加入环境变量
$ export WITH_SU=true
2月15日更新:高通有一个叫 Snapdragon LLVM
的编译器,听说有些优化(反正高通就是喜欢发布点黄油玩),具体效果自己试,编译速度会变慢一些。
编译器在这里取得Snapdragon LLVM Compiler for Android
,不支持MacOS。
解压其中的Extract Snapdragon-llvm-3.8.*-toolchain.tar.gz
将./toolchains/llvm-Snapdragon_LLVM_for_Android_3.8/prebuilt/linux-x86_64/
中的文件复制到~/LineageOS/prebuilts/clang/linux-x86/host/sdclang-3.8/
中。
在~/LineageOS/Device/<Your Device>/BoardConfig.mk
中添加这几行
ifneq ($(HOST_OS),darwin)SDCLANG := trueSDCLANG_PATH := prebuilts/clang/linux-x86/host/sdclang-3.8/binSDCLANG_LTO_DEFS := device/qcom/common/sdllvm-lto-defs.mkendif
更新:
在项目根目录执行
$ repo selfupdate
- 记录一下编译红米1s C/W (armani)Lineage OS的过程
- 红米1S的android 4.4.4刷机到android 7.1的Lineage OS 14.1
- 小米4c,5s 红米note4x 刷 Lineage OS
- Lineage OS Build for armani(转过来留作参考)
- 红米1S 电信/联通版(armani)专用TWRP2.8.6.1中文版recovery
- 红米1s W/C版 可行的双系统方案(仅分析尚未实施)
- Lineage OS 的过渡
- 红米1S W/C MIUI6特别版(20150113更新MIUI6 5.1.10 RC1.2)
- 记录一下配置center Os配置网络的过程
- 记录一下编译嵌入式QT库的过程,备忘
- 面试题:描述一下C程序的编译过程
- Lineage OS刷机出现error 7的解决办法
- 红米1s刷机
- 如何成功 root 我的红米1s手机?
- 如何成功解锁红米1S的bootloader?
- Ubuntu下为树莓派3B编译Android(Lineage OS)7.1.2系统
- 红米3s安装xposed过程总结
- 记录一下自己学习程序的过程
- java中的各种修饰符
- 理解 TCP 和 UDP(三)TCP 连接的建立和释放
- 关于Tomcat start.bat启动闪退的问题
- PHP 函数漏洞总结
- bzoj3391
- 记录一下编译红米1s C/W (armani)Lineage OS的过程
- shell 中命令的文件比较功能
- 警惕一大波银行类木马正在靠近,新型BankBot木马解析
- C# 服务端
- 数据结构 day1
- 3D转换 导航栏
- hdu 1812 Count the Tetris (置换)
- Android平台Robotium UI测试详解
- 如何上传自己的代码到Git上