首页
社区
课程
招聘
[原创]Lineage OS 17.1 for Mi8 编译指南
发表于: 2020-4-25 16:01 13976

[原创]Lineage OS 17.1 for Mi8 编译指南

2020-4-25 16:01
13976

前言

害,没啥好写的,只能炒冷饭了,写这篇文章的原因:提供可靠可行的编译方案,小米8 的确不好搞,手里也就只有一台这个做调试鸡,迫不得已,被逼下海自己编译,加入自己想要的东西 逃),网上资料甚少,不忍后来人重复进坑,遂写了这篇文章

环境说明

编译平台

Google Cloud (6 个 vCPU,16 GB 内存)(真香)
也可以选择本地搭建环境,推荐Kali,你问为什么?因为喜欢
强烈建议去白嫖Google Cloud,不然同步源码的时候,你别砸电脑
古人云:不听老人言,吃亏在眼前

环境搭建

安装SDK

https://dl.google.com/android/repository/platform-tools-latest-linux.zip
执行命令:unzip platform-tools-latest-linux.zip -d ~
编辑~/.profile文件
后加入以下内容:
if [ -d "$HOME/platform-tools" ] ; then
PATH="$HOME/platform-tools:$PATH"
fi
在执行:source ~/.profile

安装必要的依赖包

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

安装JDK

apt install openjdk-8-jdk
已安装的请忽略

创建目录

mkdir -p ~/bin
mkdir -p ~/android/lineage

安装repo

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

将repo设置为环境变量

vim ~/.profile

if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

source ~/.profile

同步Lineage OS

cd ~/android/lineage
repo init -u https://github.com/LineageOS/android.git -b lineage-17.1
repo sync

 

下面就是漫长的等待过程,等待同步完成即可

下载Mi8专属的vendor_xiaomi

因为源码并不提供专版vendor,需要自己提取,不然编译会出错
可以从~/android/lineage/device/xiaomi/dipper目录下的./extract-files.sh进行提取,不过在Google Cloud上无法连接手机,所以我们可以直接下载别人Dump好的

https://gitlab.com/PixelExperience/vendor_xiaomi

我们只要需要其中的dipper和sdm845-common两个文件夹,将其放入~/android/lineage/vendor/xiaomi目录下就可以了

加入过反调试,FART和动态注册日志

参考:
修改反调试标志位
改虚拟机源码加动态注册日志
FART:ART环境下基于主动调用的自动化脱壳方案 [android脱壳源码公开,基于android-9.0.0_r36]

编译

vim ~/.bashrc
export USE_CCACHE=1
ccache -M 50G
export CCACHE_COMPRESS=1
source ~/.profile
source build/envsetup.sh
breakfast dipper
croot
brunch dipper

等待编译完成后就可以$OUT文件夹下看到
1.recovery.img
2.lineage-17.1-20200403-UNOFFICIAL-dipper.zip

 

这样就完成了

刷入设备

TWRP
刷入TWRP
然后将编译好的ROM传入手机 点击安装即可


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (24)
雪    币: 2155
活跃值: (4532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这也太简略了 
2020-4-26 16:46
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
感谢分享,希望可以联系上大佬,求助编译和烧写 lineage 17.1 到米8
2020-6-9 09:01
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
新注册 无法发私信,希望可以加个联系方式
2020-6-9 09:04
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
方便加个联系方式否? v: 576064560
2020-6-9 09:38
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
大侠,有看到消息吗?期待被翻,感谢~~~
2020-6-10 08:30
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
你好,希望可以联系
2020-6-10 13:49
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
编译的时候发现一些异常报错log,希望可以得到大侠的帮助  有偿
2020-6-10 13:50
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
hi
  
2020-6-10 20:49
0
雪    币: 4831
活跃值: (479)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
玩机 hi
你把错误信息贴上来
2020-6-10 20:51
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
FAILED: out/soong/build.ninja
out/soong/.bootstrap/bin/soong_build -t -l out/.module_paths/Android.bp.list -b out/soong -n out -d out/soong/build.ninja.d -globFile out/soong/.bootstrap/build-globs.ninja -o out/soong/build.ninja Andro
id.bp
internal error: failed to find dex jar path for module "WfdCommon"
internal error: failed to find dex jar path for module "WfdCommon"
19:38:17 soong bootstrap failed with: exit status 1
2020-6-10 20:51
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
方便加个联系方式否
2020-6-10 20:52
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
大侠 有遇到这样的情况吗? 提示找不到WfdCommon.jar?
2020-6-10 21:05
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
14
希望可以得到大侠的指点,非常感谢,在线等!!!!
2020-6-10 21:06
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
可以有偿指点的,非常谢谢~~ 
2020-6-10 21:09
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16
不知道是否是下载的代码异常 ,下代码的步骤:
1、从官方的地址下载repo sync
2、下载device/dipper的git 库代码
3、通过breakfast 下载其他目录代码
4、下载你说的链接        
https://gitlab.com/PixelExperience/vendor_xiaomi

之后,开始进行编译

是否有操作异常?
2020-6-10 21:15
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
大侠 能否帮忙看下问题?
2020-6-10 21:29
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
18
在?
2020-6-10 21:38
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
能帮忙吗?大侠
2020-6-10 22:00
0
雪    币: 4831
活跃值: (479)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
玩机 能帮忙吗?大侠
https://wiki.lineageos.org/devices/dipper/build
2020-6-19 22:59
0
雪    币: 2904
活跃值: (1337)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
21
玩机 FAILED: out/soong/build.ninja out/soong/.bootstrap/bin/soong_build -t -l out/.module_paths/Android. ...
一般我遇到这种直接运行
export LC_ALL=C
export ALLOW_MISSING_DEPENDENCIES=true
都会解决
2020-6-20 09:08
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
22
fart 9.0编译在lineage17.1 上 可以脱壳?
2020-8-23 19:02
0
雪    币: 156
活跃值: (3796)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
23
ydshk 一般我遇到这种直接运行 export LC_ALL=C export ALLOW_MISSING_DEPENDENCIES=true 都会解决[em_85]
大佬是真的吗?我这两天编译aosp 8.1.0_r1,一直有问题
[ 73% 67472/91632] Building with Jack:...j_intermediates/with-local/classes.dex
FAILED: out/target/common/obj/JAVA_LIBRARIES/core-oj_intermediates/with-local/classes.dex 
/bin/bash out/target/common/obj/JAVA_LIBRARIES/core-oj_intermediates/with-local/classes.dex.rsp
No Jack server running. Try 'jack-admin start-server'
[ 73% 67473/91632] Building with Jack:...t_intermediates/with-local/classes.dex
中间省去一大段。
No Jack server running. Try 'jack-admin start-server'
[ 73% 67481/91632] //art/runtime:libart clang++ class_linker.cc [linux x86]
ninja: build stopped: subcommand failed.
12:01:43 ninja failed with: exit status 1

#### failed to build some targets (40:27 (mm:ss)) ####

不知道大佬有没有遇见过,网上google也没有解决。
2020-10-14 16:54
0
雪    币: 20
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
Google Cloud 编译好 刷机包传回本地不是太慢吗??
2020-10-14 21:54
0
雪    币: 2155
活跃值: (4532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
xuyahui Google Cloud 编译好 刷机包传回本地不是太慢吗??
编译出来才几百M 网速好没啥大问题
2020-10-28 15:34
0
游客
登录 | 注册 方可回帖
返回
//