当前位置:首页>安卓APP>安卓旧手机变开发板-系统开发lineage环境搭建

安卓旧手机变开发板-系统开发lineage环境搭建

  • 2026-10-24 03:42:57
安卓旧手机变开发板-系统开发lineage环境搭建

hi,学员朋友,大家好! 前期一直有同学在问我这边,学习framework需要什么额外设备么?

这里其实我一直前期也是给学员说的,如果你是个新手,刚刚开始可以不用,完全可以跟着课程一起学习,用课程里面的模拟器。哈哈资格模拟器不要钱,也不存在变砖的可能性。当你已经学完课程入门部分了,这个时候你觉得模拟器不能满足你了,你可以考虑pixel(相对比较贵)或者其他二手android手机,比如经典小米,联想,一加,nubia等基本上很多二手(基本便宜,而且自己手里一般都有一两个不用的二手机器)。pixel刷入aosp这个我前期已经写过相关文章,可以关注我之前blog,但针对非pixel相关机器今天我这边来分享一下怎么刷入一个基于aosp魔改了的lineage os。

首先确认好自己手上机器到底是否支持,看如下地址:https://wiki.lineageos.org/devices/

注意这里也非常关键,记住自己的型号,比如我们这里是nx563j,小米5是gemini。大家自己机型确定哈,文章都统一nx563j。

1 准备机器,oem解锁

设置中开发者选项开启oem开关

接下来需要进入fastboot模式

执行: adb reboot bootloader

进入后需要fastboot命令对手机进行解锁,这里我这边手上刚好有nubia的z17,blog就以他为例子,(其他xiaomi解锁相对可能复杂一些,大家自己百度就行,实在不行你可以淘宝花点钱让别人帮你刷个lineageos)

进入fastboot模式后,需要用fastboot命令解锁oem: 

1、fastboot devices //这里只是看看到的fastboot下面有没有设备,没有实际意义 

2、fastboot oem nubia_unlock NUBIA_NX563J //这一部非常关键,相对每个手机还有点区别,大家自己根据机型百度

2 刷入第三方的recovery,并刷入官方lineage os版本

1、解锁完成,解锁后需要刷入第三方recovery,这个recovery我们直接lineageos官网就有,一般刷几包和recovery都是配套的,这里不得不说lineageos真的是服务到位,外国友人无私奉献万岁(参考地址https://wiki.lineageos.org/devices/nx563j/install)

具体命令: fastboot flash recovery <recovery_filename>.img

这里的recovery的img可以直接lineage官网下载:https://download.lineageos.org/nx563j

左边770多M的是刷机包,右边是对应的recovery.img的包 确定是否刷入成功,这里可以看命令输出,如果出现OKAY。。那就ok了,如果有fail一般可能解锁不成功 2、上面刷入recovery成功,在手机的fastboot模式上按音量上下按键, 选址 : reboot to recovery mode,再按power按键 (注意不要直接重启进入系统) lineage官方也是这样说的: Now reboot into recovery to verify the installation. Do not reboot into the existing OS, since it will overwrite the recovery you just installed!

这个非常关键哈 3、进入recovery后,刷入上面下载的770多m刷包系统系统 到达recovery主页

***然后选择 “Apply Update”, then “Apply from ADB”*** 

接下来就需要我们电脑端通过adb发送下载的zip过去: adb sideload   xxxx.zip (如果提示xxx签名不一致,可以直接选择继续)

3、下载对应的lineagos代码及编译:

前面已经先把手机刷成了lineage os系统了,但是始终系统是别人的,我们自己不可以随便改变,所以我们就要进入最重要的构建我们自己的代码系统,这样再刷入我们自己编译的lineage os才算成功 参考lineage os官方链接:https://wiki.lineageos.org/devices/nx563j/build

其实也可以通过以下链接直接点击进入:https://wiki.lineageos.org/devices/nx563j/点击上面的“Build for yourself”

这里因为构建部分内容较多,大家严格按照https://wiki.lineageos.org/devices/nx563j/build 链接一步步来就可以,我这里只需要提出以下几个点,也算我这边踩坑点:

1、安装库一定不要省略

安装库和我们以前aosp编译还是有一些区别,所以这里严格按照链接提供的库来


    sudo apt-get install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git 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 rsyncschedtool squashfs-tools xsltproc zip zlib1g-dev


2、ccache 这个部分大家可以根据自己情况,我这边没有配置

3、国内需要对repo下载后需要修改REPO_URL

修改方法:

vi ~/bin/repo

修改后:

  REPO_URL ='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
在这里插入图片描述

4、repo init后,需要对.repo的xml进行修改(非常关键)

如果repo init后直接repo sync,国内会报出很多错误,错误原因还是因为国内网络,解决方法如下 对  .repo/manifests/default.xml进行修改,修改具体点如下,用git diff给大家看:

test@test:~/nx563j/.repo/manifests$ git diff
diff --git a/default.xml b/default.xml
index 672a8c3..da6b283 100644
--- a/default.xml
+++ b/default.xml
@@ -1,20 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <manifest>

-  <remote  name="github"
-           fetch=".."
+   <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="private"
            fetch="ssh://git@github.com" />

   <remote  name="aosp"
-           fetch="https://android.googlesource.com"
:...skipping...
diff --git a/default.xml b/default.xml
index 672a8c3..da6b283 100644
--- a/default.xml
+++ b/default.xml
@@ -1,20 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <manifest>

-  <remote  name="github"
-           fetch=".."
+   <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="private"
            fetch="ssh://git@github.com" />

   <remote  name="aosp"
-           fetch="https://android.googlesource.com"
-           review="android-review.googlesource.com"
+           fetch="https://mirrors.tuna.tsinghua.edu.cn/git/AOSP"
            revision="refs/tags/android-12.1.0_r22" />

   <default revision="refs/heads/lineage-19.1"
-           remote="github"
+           remote="lineage"
            sync-c="true"
            sync-j="4" />


4、breakfast nx563j第一次有报错

第一次repo sync成功后,开始编译

source build/envsetup.sh
breakfast nx563j

但是发现breakfast nx563j执行非常慢,而且有报错说没有xxxx product

其实这里是正常的,因为这个时候才开来下载和563相关的git,也就是这个时候在repo设备相关的库,当然慢,而且整个系统中当然还没有nx563j这个目标

等待一会后,我们就可以把大部分nx563j的依赖下载豪,但是有一些无法下载的就需要从我们目前已经刷了lineage os手机上拉下来 这里怎么拉呢?当然是我们的adb pull 。。。。,具体拉哪些我们不需要关心,lineage已经给我们写了extract-files.sh脚本(注意一定要保证手机已经可以adb root成功),执行它就行

cd 源码根目录/device/nubia/nx563j //这个目录有就有extract-files.sh
./extract-files.sh 

上面执行完成后再执行

croot
brunch nx563j

最后上一下我们的编译ok截图

5、刷入编译的压缩包

首先进入recovery

adb reboot recovery点击这里的Apply Update

再执行命令:

adb sideload out/target/product/nx563j/lineage-21.0-20240229-UNOFFICIAL-nx563j.zip

执行完成既可以

其他新坑补充:

lineageos 21/aosp14环境搭建小米,nubia手机差异补充

更多vip面试定制指导上岸fw工程师服务,课程优惠购买成为vip学员进入vip群,积极讨论各种行业难点痛点疑难问题,答疑服务等。

请联系马哥微信:

Android Framework开发rom实战合集课表/车载车机手机高级系统开发工程必会技能
重大消息:Hal+perfetto-systrace+SurfaceFlinger合集新专题发布
重大消息:ShellTransition项目实战专题aosp15版本首发优惠获取
开学第一课:安卓音频框架Audio子系统实战专题--首发优惠活动
2026第一课:安卓14-1车机手机三分屏实战专题--首发优惠活动

最新文章

随机文章