小米note pro一代(leo)线刷、twrp、magisk、TODO: android源码编译
本文主要说android5
整体思路
android 5.1 + twrp + magisk + Zygisk(Riru) + Dreamland(xposed)
Riru
不支持android5.1, 因此只能选择Zygisk
: 如果你正在使用 Android 5,你必须使用 Zygisk 因为 Riru 并不支持 Android 5.
基于magisk之上的xposed 其中提到的 作者修改的xposed-framework下载链接XposedInstaller 3.1.5 已经失效了 , 改用独立的xposed, 但是独立的xposed隐藏性差?
寄生于magisk下的xposed: Android Lollipop (5.1, sdk22): original Xposed (ART) (Magisk Systemless-ly)
/ XposedInstaller_3.1.5下载网页/xposedinstaller_3-1-5-Magisk Systemless-ly.apk
放弃EdXposed
因为: EdXposed只能支持supports Android 8.0 ~ 11
不支持android5.1
android5刷机环境准备
腾讯androidSdk网页/platform-tools_r23-linux.zip
cd /app5/mi_leo/
wget https://mirrors.cloud.tencent.com/AndroidSDK/platform-tools_r23-linux.zip
unzip platform-tools_r23-linux.zip -d .
#/app5/mi_leo/platform-tools/fastboot
PATH_BASE=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PATH=/app5/mi_leo/platform-tools:$PATH_BASE
which adb # == /app5/mi_leo/platform-tools/adb
which fastboot # == /app5/mi_leo/platform-tools/fastboot
线刷
线刷包下载
unbrick_rom_url_slow=http://bigota.d.miui.com/6.1.7/leo_images_6.1.7_20151221.0000.11_5.1_cn_02396b5585.tgz
#下载很慢的url, 才几十KB
unbrick_rom_url_fast=${unbrick_rom_url_slow/bigota.d.miui.com/bkt-sgp-miui-ota-update-alisgp.oss-ap-southeast-1.aliyuncs.com}
#unbrick_rom_url_fast==http://bkt-sgp-miui-ota-update-alisgp.oss-ap-southeast-1.aliyuncs.com/6.1.7/leo_images_6.1.7_20151221.0000.11_5.1_cn_02396b5585.tgz
#更换域名后 下载速度正常了
axel -n 5 $unbrick_rom_url_fast
刷机步骤
-
解压线刷包:
tar -xf leo_images_6.1.7_20151221.0000.11_5.1_cn_02396b5585.tgz
-
手机进入fastboot模式:
adb reboot bootloader
或者手机彻底关机情况下, 先按住音量下不放手 、 再按开机键
-
运行刷机脚本:
cd leo_images_6.1.7_20151221.0000.11_5.1_cn/ && bash -x flash_all.sh
-
刷完后, 自动重启,进入android首次运行设置
观看:版本
观: 版本
进入android ,设置中看到 版本为
- 型号:
MI NOTE PRO
- Android版本 :
5.1.1 LMY47V
- Android安全补丁程序级别 :
2016-01-01
- MIUI版本:
MIUI 7 6.1.7 | 开发版
- 基带版本:
BO.2.6.c1.2-0106_2249_5b57 e09
- 内核版本:
3.10.49-g17e0411
- 谷歌版本号:
LMY47V
猜测: LMY47V
表示git分支android 5.1.1
下的某个git提交
google rom 网页 中 看到 有7个设备支持Android版本5.1.1 (LMY47V)
, 且Android5.1.1
共有3个:
5.1.1 (LMY47V)
5.1.1 (LMY48J)
5.1.1 (LMY48N)
这说明 LMY47V
表示git分支android 5.1.1
下的某个git提交
twrp2.8正常启动
twrp2.8-小米leo
下载: 网页leo-miui-customization…/twrp-2.8.6.0-leo-ganfan-20150613-en-custom-materialised-play-light_lightblue-theme-v287x.zip, 已上传在此
adb reboot bootloader
cd /app5/mi_leo/
unzip twrp-2.8.6.0-leo-ganfan-20150613-en-custom-materialised-play-light_lightblue-theme-v287x.zip
#file twrp-2.8.6.0-leo-ganfan-20150613-en-custom-materialised-play-light_lightblue-theme-v287x.img
md5sum twrp-2.8.6.0-leo-ganfan-20150613-en-custom-materialised-play-light_lightblue-theme-v287x.img # == adf1cf420e48ae965906ceb8267f26aa
fastboot boot twrp-2.8.6.0-leo-ganfan-20150613-en-custom-materialised-play-light_lightblue-theme-v287x.img
#downloading 'boot.img'...
#OKAY [ 1.283s]
#booting...
#OKAY [ 0.396s]
#finished. total time: 1.679s
警告 android5 不可安装magisk25.2或更高版本
-
android5 安装 Magisk 25.2网页/Magisk-v25.2.apk 会导致 magisk界面的
模块
是灰色不可用的, -
而 android5 安装 Magisk 23.0网页/Magisk-v23.0.apk 的 magisk界面的
模块
则是正常高亮可用的
此节未验证,是据此文猜测的
安装magisk-v23.0(通过twrp)
参考 lineage16-magisk27-ok.md
magisk版本列表,由此看到,Magisk支持android 5.0的的高版本 Magisk 23.0网页/Magisk-v23.0.apk 离最高版本 Magisk-v25.2.apk很近(上文已说明不用25.2的理由)
md5sum Magisk-v23.0.apk
== ea450d98c25b4e09bb353e5bef8ca8a0
1. 重启手机到fastboot : adb reboot bootloader
2. fastboot启动twrp : fastboot boot twrp-2.8.6.0-leo-ganfan-20150613-en-custom-materialised-play-light_lightblue-theme-v287x.img
3. twrp界面: Advance
--> 启动ADB Sideload
4. 自动提取并修改boot.img
: adb sideload Magisk-v23.0.apk
5. 在twrp下重启进android: adb reboot
6.1. android下卸载上一步安装的 不完整app magisk: adb shell 'pm uninstall com.topjohnwu.magisk'
6.2. android下安装完整 magisk : adb install Magisk-v23.0.apk
Dreamland(TODO)
如果你正在使用 Android 5,你必须使用 Zygisk 因为 Riru 并不支持 Android 5.
寄生于magisk下的xposed
寄生于magisk下的xposed: Android Lollipop (5.1, sdk22): original Xposed (ART) (Magisk Systemless-ly)
/ XposedInstaller_3.1.5下载网页/xposedinstaller_3-1-5-Magisk Systemless-ly.apk , 已上传在此 XposedInstaller_3.1.5–Magisk_Systemless-ly.apk
独立的xposed(通过twrp)
下载 dl-xda.xposed.info/framework/sdk22/arm64/ / xposed-v89-sdk22_Android5.1_Lollipop-arm64.zip, 已上传在此xposed-v89-sdk22_Android5.1_Lollipop-arm64.zip
下载 xposed-installer-3-1-5.apk网页
1~3 和 安装magisk-v23.0(通过twrp)
的 1~3 一样的
0. 在android下安装 xposed-installer-3-1-5.apk : adb install xposed-installer-3-1-5.apk
1. 重启手机到fastboot : adb reboot bootloader
2. fastboot启动twrp : fastboot boot twrp-2.8.6.0-leo-ganfan-20150613-en-custom-materialised-play-light_lightblue-theme-v287x.img
3. twrp界面: Advance
--> 启动ADB Sideload
4. adb sideload xposed-v89-sdk22_Android5.1_Lollipop-arm64.zip
5. 在twrp下重启进android: adb reboot
6. 解决问题: 打开 xposed后显示未激活
若 先步骤0 再步骤4,不会出现此问题
若 错误地 先 步骤 4 再 步骤0 , 会出现此问题
adb shell
/sbin/su
# readlink -f /sbin/su # == /sbin/magisk64
ls -l /data/user/0/ |grep de.robv.android.xposed.installer
#drwx--x--x u0_a111 u0_a111 2024-11-23 15:19 de.robv.android.xposed.installer
chmod 777 /data/user/0//de.robv.android.xposed.installer
#drwx--x--x u0_a111 u0_a111 2024-11-23 15:19 de.robv.android.xposed.installer
reboot
很奇怪,加权限后 权限没变化, 但是重启后 ,xposed界面的未激活 变成 已激活了
参考 : Xposed框架90版本已安装,但尚未激活。
7. (报错 )三条线
–>模块
报错 未找到Xposed模块
leo
android源码 最低分支 android7.1 但又说 支持android 5.0.2 到 7.0
xiaomi-classic-dev组织下 搜索 xiaomi_leo / CyanogenMod 14.1
==android7.1
== android_device_xiaomi_leo.git/cm-14.1
小米note pro 第一代 顶配版(leo)
找不到 CyanogenMod 12.1
==android5.1
但是 android_device_xiaomi_leo.git/mkq-mr1/README.md却在说 Shipped Android Version : 5.0.2 up to 7.0
,这意思是说 该仓库支持的版本范围为 android 5.0.2 up to 7.0
?
寻找xiaomi_leo
内核源码仓库、厂商vendor仓库
xiaomi-classic-dev(找到xiaomi_leo
)
xiaomi-classic-dev组织下 搜索 xiaomi_leo
- android_device_xiaomi_leo.git
- android_kernel_xiaomi_leo.git
- android_vendor_xiaomi_leo.git
- android_device_xiaomi_leo_old.git
- android_kernel_xiaomi_leo_old.git
- android_vendor_xiaomi_leo_old.git
但是 这些仓库最低android版本为 CyanogenMod 14.1
==android7.1
== android_device_xiaomi_leo.git/cm-14.1
CyanogenMod(无xiaomi_leo
)
CyanogenMod组织下 搜索leo 只能获得 htc leo 手机: android_device_htc_leo.git, 却没有小米 note pro一代 顶配版 (leo)
CyanogenMod组织下 搜索msm8994支持以下手机, 但唯独没有xiaomi_leo
- android_kernel_htc_msm8994
- android_kernel_letv_msm8994
- android_kernel_zte_msm8994
- android_kernel_oneplus_msm8994
- android_kernel_cyanogen_msm8994
备注
brick
==砖头
,
unbrick
非砖头
救砖头
edl
e dl
emergency download
==紧急 下载
(可选)twrp寻找过程
代号为leo的手机有两个: 小米note pro一代 顶配版
、htc hd2
twrp/设备们/搜索leo
/htc hd2(leo)
/twrp leo
google搜索twrp leo
获得的是 htchd2
==twrp leo
twrp没有收录 小米note pro一代 顶配版
twrp/小米没有leo
twrp 小米note pro一代 顶配版
xiaomitools/TWRP-20180729-3.2.3.0-leo.zip
twrp3.x报错(因twrp3.1至少需要android7.1)
adb reboot bootloader
cd /app5/mi_leo/
unzip TWRP-20180729-3.2.3.0-leo.zip
#file TWRP-20180729-3.2.3.0-leo.img
fastboot boot TWRP-20180729-3.2.3.0-leo.img
#Sending 'boot.img' (29668 KB) OKAY [ 0.806s]
#Booting FAILED (remote: 'dtb not found')
#fastboot: error: Command failed
报错FAILED (remote: 'dtb not found')
原因是 twrp3.x至少需要android7.0, 而这里是android5.1
报错原因: TWRP版本和Android版本需要一定的对应关系
从此文复制一段话:
2.TWRP版本和Android版本需要一定的对应关系。
比如刷入Android 8.1,必须要TWRP Recovery版本≥3.2,低于3.2版本的TWRP刷入Android 8.1+,会卡在机型验证上报错。
有些机型3.2.x版本的TWRP Recovery只可用于刷入Android 8.1+,刷入7.1则需要3.1.x版本的TWRP Recovery。而有些则也可以用3.2.x版本的TWRP Recovery刷入Android 7.1、6.0或更老版本。
(可选)通过高通紧急下载edl串口端口9008刷机
android5刷机环境准备
腾讯androidSdk网页/platform-tools_r23-windows.zip
msys2@win10
#/app5==/g
cd /g/mi_leo/
wget https://mirrors.cloud.tencent.com/AndroidSDK/platform-tools_r23-windows.zip
unzip platform-tools_r23-windows.zip -d .
#/g/mi_leo/platform-tools/fastboot
mv platform-tools platform-tools-windows
#/g/mi_leo/platform-tools-windows/fastboot
PATH_BASE=/usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem
export PATH=/g/mi_leo/platform-tools-windows:$PATH_BASE
which adb # == /g/mi_leo/platform-tools-windows/adb
which fastboot # == /g/mi_leo/platform-tools-windows/fastboot
刷机工具MiFlash*.exe
下载、安装
404
同样替换域名后的MiFlash20150601_win10.exe下载返回404
unbrick_tool_url_slow=http://bigota.d.miui.com/tools/MiFlash20150601_win10.exe
unbrick_tool_url_fast=${unbrick_tool_url_slow/bigota.d.miui.com/bkt-sgp-miui-ota-update-alisgp.oss-ap-southeast-1.aliyuncs.com}
#unbrick_tool_url_fast==http://bkt-sgp-miui-ota-update-alisgp.oss-ap-southeast-1.aliyuncs.com/tools/MiFlash20150601_win10.exe
#替换后的地址说不存在404了
#axel -n 5 $unbrick_tool_url_fast
正常
MiFlash20150601_win10.exe下载网页
安装
安装MiFlash20150601_win10.exe
到d:\MiFlash20150601_win10
刷机步骤
-
手机进入fastboot模式:
adb reboot bootloader
或者手机彻底关机情况下, 先按住音量下不放手 、 再按开机键
-
手机进入高通紧急下载模式(串口9008端口):
fastboot oem edl
-
解压
leo_images_6.1.7_20151221.0000.11_5.1_cn_02396b5585.tgz
-
运行
D:\MiFlash20150601_win10\MiFlash.exe
选择 解压后的目录leo_images_6.1.7_20151221.0000.11_5.1_cn_02396b5585
即开始刷机
参考
CyanogenMod对照android版本
小米 note pro 顶配版(leo) : 高通 骁龙810 == MSM8994
htc G9 , CyanogenMod/gingerbread(可能是android2.x) 编译
htc G9(Aria) : 高通 MSM7227, 出厂为android2.1
CyanogenMod/android.git
小米4 : 高通骁龙810 == MSM8974AC, 出厂为android4.4, MIUI 6
小米4 ,CyanogenMod/13.0编译
nexus5刷机、解锁bootloader、magisk(root)、解包boot.img(得initrd.img、zImage)、解initrd.img得根文件系统、解zImage得vmliux
线刷包url : 小米Note顶配不解BL锁获取ROOT权限
HyperOS丨MIUI 下载速度慢?解除限速教程
MiFlash 线刷工具旧版本收集。除个别早期版本,其它需要 Windows 64 位系统环境才能使用。
2.TWRP版本和Android版本需要一定的对应关系。