Oneplus5 Lineage os 编译

环境:

ubtuntu 16.04   内存:4G  SWAP:9G

因为我的内存太小,所以设置了swap,不然编译不通过。会报:inja: fatal: fork: Cannot allocate memory

 

 

下载依赖工具:

sudo apt-get update

sudo apt-get install bc bison build-essential curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32z1-dev libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev openjdk-8-jdk lib32readline6-dev

 

设置git信息

git config --global user.name "hlzds"

git config --global user.email nideyouxiao@163.com

 

配置repo环境:

mkdir ~/bin

PATH=~/bin:$PATH

cd bin

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo

chmod +x repo

export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'

 

配置Android 源码 repo 环境

cd ~/bin

mkdir LineageOS

cd LineageOS

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/lineageOS/LineageOS/android.git -b cm-14.1

 

修改  manifest.xml 为清华镜像信息

注:下面 cm-14.1  与上面设置 repo init 要一样

gedit ~/bin/ LineageOS/.repo/manifest.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://aosp.tuna.tsinghua.edu.cn"


<default revision="refs/heads/cm-14.1"

remote="github"

改成

<default revision="refs/heads/cm-14.1"

remote="lineage"


开始下载源码

repo sync --no-clone-bundle

 

获取内核和驱动

oneplus 5

内核驱动: CPU:高通 骁龙835(MSM8998)

手机代号: cheeseburger


设备驱动相关代码

https://github.com/TheMuppets

在GitHub找到自己手机对应的项目,并找到 14.1 的分支,我们编译的是 14.1 版本

我的手机就是这个

https://github.com/TheMuppets/proprietary_vendor_oneplus/tree/cm-14.1

 

源代码相关

https://github.com/LineageOS

oneplus 对应 :

https://github.com/LineageOS/android_device_oneplus_cheeseburger

https://github.com/LineageOS/android_kernel_oneplus_msm8994

GitHub下载单独文件夹 https://minhaskamal.github.io/DownGit/#/home

 

下载好了,分别是下面3个文件

文件 proprietary_vendor_oneplus-cm-14.1.zip 放在 ~bin/LineageOS/vendor/oneplus/cheeseburger 并解压

文件 android_kernel_oneplus_msm8998-cm-14.1.zip 放在 ~/bin/LineageOS/kernel/oneplus/msm8998 并解压

文件 android_device_oneplus_cheeseburger-cm-14.1.zip 放在 ~/bin/LineageOS/device/oneplus/cheeseburger并解压

 

开始编译

cd ~/bin/LineageOS

. build/envsetup.sh

export WITH_SU=true    #自带root

export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx8G"    #设置编译内存

breakfast cheeseburger #选择设备内核

export USE_CCACHE=1 #使用缓存

export CCACHE_DIR=/media/anemone/anemone_ssk/ccache #缓存地址

./prebuilts/misc/linux-x86/ccache/ccache  -M 100G    #使用100G作为缓存空间

./prebuilts/sdk/tools/jack-admin start-server #这句不执行的话可能会报下面的错误

brunch cheeseburger #启动编译


下次编译可以清空,再编译

make clobber #清理


 

出错解决

IBRARIES/libprotobuf-java-nano_intermediates/jack-rsc.java-source-list )"

Communication error with Jack server (56). Try 'jack-diagnose'

ninja: build stopped: subcommand failed.

build/core/ninja.mk:151: recipe for target 'ninja_wrapper' failed

make: *** [ninja_wrapper] Error 1

make: Leaving directory '/home/hlzds/bin/LineageOS'

 

#### make failed to build some targets (51:51 (mm:ss)) ####

 

========================================================================

1. 切换到工程根目录,检查 jack-server 是否开启 -------------   

./prebuilts/sdk/tools/jack-admin list-server

 

2. 检查宿主目录下的 .jack-server 文件夹以及文件jack-setting  ------------  

ls  -al

如果两文件的所属组与所有者不是编译工程的用户,直接rm 删除

到prebuilts/sdk/tools 目录下执行一下这个命令:

./jack-admin install-server jack-launcher.jar jack-server-4.8.ALPHA.jar

jack-launcher.jar,jack-server-4.8.ALPHA.jar 这两个文件的名字视 prebuilts/sdk/tools 目录下的文件名而定。

 

3. 执行完毕后开启服务  prebuilts/sdk/tools/jack-admin start-server,执行成功就ok

Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -cp /home/xxx(用户名)/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
刷机前,请先备份好你的数据,以免丢失。同时,请确保你已经掌握了一定的刷机技巧,否则可能会导致设备无法正常使用。 以下是荣耀平板5刷机的步骤: 1.解锁 bootloader 要刷 LineageOS,你需要先解锁荣耀平板5的 bootloader。在解锁 bootloader 之前,请先备份好你的数据,因为这个过程将会清除所有数据。 2.下载 LineageOS 镜像 你需要从 LineageOS 官网下载荣耀平板5的镜像文件。下载完成后,请将镜像文件复制到设备存储器中。 3.安装 TWRPRecovery TWRPRecovery 是一个第三方的 recovery 工具,你需要先安装它才能刷机。你可以从官网下载 TWRPRecovery,并按照官方指引进行安装。 4.进入 recovery 模式 在开机时按住音量加和电源键,直到出现荣耀的 Logo ,松开电源键,继续按住音量加键,直到进入 TWRPRecovery。 5.备份数据 在进入 recovery 模式后,第一件事情是备份你的数据。刷机时会清除所有数据,所以先备份好。 6.清除数据 在 TWRPRecovery 中,选择“Wipe”,然后选择“Advanced Wipe”。选择以下选项进行清除: - Dalvik/ART Cache - System - Data - Cache 7.刷入 LineageOS 回到 TWRPRecovery 主界面,选择“Install”,然后选择你下载的 LineageOS 镜像文件。滑动以确认刷机。 8.刷入 Google 应用包(可选) 如果你想要使用 Google 应用,你需要下载并刷入 Google 应用包。你可以从 Open GApps 官网下载。 9.重启设备 刷入完成后,选择“Reboot”并重启你的荣耀平板5。 现在你已经成功地刷入了 LineageOS。请注意,刷机可能会导致设备失去保修,所以请谨慎操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值