aosp 12/13/lineageos19.1 framework学习编译刷入小米手机,努比亚

LineageOS 刷机教程

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

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

在这里插入图片描述在这里插入图片描述

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

执行完成既可以

更多framework干货请关注“千里马学框架”

LineageOS作为一款基于Android深度定制的开源ROM,支持多种真实设备的同时,也具备在Android虚拟设备(AVD)上运行的能力。对于开发者或测试人员而言,使用AVD可以有效验证LineageOS的功能表现,同时避免对真实设备造成潜在风险。 ### LineageOS Android虚拟设备(AVD)配置指南 #### 1. 准备工作 在配置LineageOS AVD之前,需确保开发环境已经安装以下工具: - **Android Studio**:提供完整的AVD管理工具链,支持创建、配置和运行虚拟设备。 - **LineageOS源码或ROM镜像**:若需运行特定版本的LineageOS,建议提前下载或构建ROM镜像文件(如`system.img`、`ramdisk.img`等)。 - **Android SDK与系统镜像**:确保安装了与LineageOS版本兼容的Android SDK和系统镜像(如Android 1112等)。 #### 2. 创建AVD 通过Android Studio的AVD Manager可以创建一个基础虚拟设备,并后续替换其系统镜像为LineageOS镜像: 1. 打开 **AVD Manager**,选择 **Create Virtual Device**。 2. 选择设备定义(如Pixel 3a、Nexus 5等通用设备),点击 **Next**。 3. 选择兼容的系统镜像(建议选择与LineageOS对应的Android版本),点击 **Next**。 4. 完成创建后,关闭AVD Manager。 #### 3. 替换系统镜像为LineageOS 1. 定位到AVD的安装目录,通常位于 `~/.android/avd/<AVD名称>.avd/`。 2. 备份原始镜像文件(如`system.img`、`ramdisk.img`)。 3.LineageOS构建生成的镜像文件复制到该目录,并替换原有镜像。 4. 修改`config.ini`文件,确保以下参数与LineageOS镜像兼容: ```ini hw.ramSize=2048 hw.sdCard=yes sdcard.size=512M ``` 这些配置可提升虚拟设备的运行性能和存储空间[^1]。 #### 4. 启动AVD并验证LineageOS 1. 使用命令行启动AVD: ```bash emulator -avd <AVD名称> -verbose ``` 2. 观察启动日志,确认系统镜像加载无误。 3. 登录LineageOS界面后,检查系统设置、功能模块是否正常运行。 #### 5. 高级配置选项 - **GPU加速**:启用GPU加速可提升图形渲染性能。在`config.ini`中添加: ```ini hw.gpu.enabled=yes hw.gpu.mode=auto ``` - **网络配置**:确保虚拟设备可以访问互联网,便于安装GApps或测试网络功能。 - **多实例运行**:可通过不同端口启动多个AVD实例,便于对比测试不同版本的LineageOS。 #### 6. 常见问题与解决 - **启动失败或黑屏**:检查LineageOS镜像是否与所选设备兼容,尝试更换设备定义或系统镜像版本。 - **性能卡顿**:增加`hw.ramSize`值,启用GPU加速,或使用x86架构镜像以提升运行效率。 - **无法访问Play Store**:LineageOS默认不包含GApps,需手动安装GApps包(如OpenGApps)。 ---
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值