刷入twrp_twrp刷入面具&进入recovery(twrp)的方式&获取root&刷入第三方rom&下载魔趣(MOKEErom&Paranoid Android )刷入体验&国际版rom包的网络连接受限问题
参考链接
工具&材料准备
第三方rom获取/推荐
- google搜索(推荐,可以检索到各种来源)
- 你可以搜索指定机型指定android版本(这是最高效,且有目的性的)
- 想要获取基于最新android版本的rom包这么google搜几乎是最高效的
- 有时候还会搜索到配套刷机视频(譬如来自youtub e)
- 刷机包资源就在视频简介下方或者评论区
- 而且还可以看看用户对该rom的评价,问题早发现,譬如有的包链接wifi会受限/时间过期导致的网络问题等
- 或者解决方案(而不仅仅只有bug的提出)
- XDA论坛/酷安论坛
- 比较容易刷入的包
Mokee OS 提供的包(纯卡刷包)Paranoid Android OS (有纯卡刷包)(官网不太好使,配合搜搜引擎)- 注意到,有些冷门的机型,或者已经过时很久的机型,几个rom网站可能找不到(譬如我试验的redmi 4x)
- 这种情况下,可以借助google搜一下,或许有人发布的高手制作的包
- 注意是否有提供了操作步骤,以防止刷入失败(特别是个人制作的非官方lineageOs,不那么容易刷成功,可能会有额外的步骤要求)
- 有的还有telegram群组,就不细讲了
其他来源
- 7 款最佳第三方安卓
- LineageOS
- 原 CyanogenMod 项目的正统继任者
- 仅提供最少的附加功能,以高性能、高通用性著称
- 官网
- Pixel Experience
- 提供最接近 Pixel 上的原生 Android 体验
- 随附所有 Google 应用和 Pixel 桌面、壁纸、图标、字体和启动动画。
- 官网
- Paranoid Android(又名 AOSPA)
- Evolution X
- 提供接近 Pixel 原生 ROM 的体验
- 预装了 Google 应用程序
- 多种自定义功能,例如状态栏可见性切换和游戏模式快速设置
- 官网
- ArrowOS
- 轻量级的 ROM
- 最贴近 AOSP,仅在前者之上进行了少量调整
- 提供流畅的性能和更长的电池续航
- 官网
- dotOS
- 基于 AOSP,以独特的界面和创新功能著称
- 提供了大量附加功能
- 官网
- Xiaomi.EU
- 基于中国 MIUI beta 版固件包构建,并进行了国际化
- 适用于海外用户
例如
国际版rom包的网络连接受限问题
- 由于基于较新版本的android制作的包经常是老外做的,那么时区问题就会显现出来,例如在android12的类原生包,提示我连接wifi后连接受限(limited connection)
- 尝试设置时区和系统时间,最好和北京时间一致(相差个别小时也是没问题的,虽然可能还是提示受限,但是浏览器之类的应用应该能够正常访问互联网了)
adb命令行进行文件传输注意事项
twrp的作用
★
\bigstar
★
- twrp
功能全面 ,可以用来
- 刷入面具(magisk)以获取root
- 关于卡刷第三方包(非官方rom的刷入经常使用流行的twrp来操作)
- 刷第三方包用卡刷方式的较多感觉,线刷一般用来
- 获取root,刷入twrp,当然还可以刷入官方rom实现降级以及救砖(白砖)
- 之后的事情可以交给twrp
- 或者用magisk app就可以安装模块
- twrp中advance还提供linux终端,你可以执行一些命令(譬如创建文件夹)
- twrp方式(或者更准确的讲,是recovery的共同问题)
- 需要有人来适配你的机型
- 刷入twrp往往需要fastboot,如果是这样,那么你大概率要会线刷(譬如刷入修补后的boot.img)的基础
- 对于线刷方式玩机(root/模块)可以看看
获取twrp
关于刷机包
- 刷机包可以是
- 第三方rom
- 或者类似于模块的包,例如
- 用户获取root的magisk app,将安装包的名称后缀从
.apk 修改为zip ,就是一种所谓的刷机包
- 很神奇是不是!(其实刷入magisk的时候不需要修改包名,但是为了保险起见,修改一下)
- 估计是magisk apk和twrp达成某种协议,使得magisk可以刷入修改后缀名的
magisk 安装包 - 但是注意,刷入第三方rom的时候需要清除数据
- 而刷入magisk的时候,不需要
刷入twrp
- 刷入twrp的方式有多种
- 最通用的当属fastboot线刷方式,这不要求你有root权限,也比较推荐
- 其他方式有不需要电脑的,但是前提是手机已经root,这可能导致的囧境是,我还没有root,去需要用到root!
- 但是这种方式也有用处,比如,我确实已经通过某种途径(未必是刷入面具的方式),而仅仅只是想要刷入twrp这种流行的第三方的recovery维护系统
线刷方式
- 确保设备已经解除bl锁,usb调试打开并且允许电脑调试android设备
- 命令行检查驱动(可选的,如果遇到异常,再检查)
- 如果处于开机状态,执行
adb devices -l
- 开机状态下,如果设备正常驱动,也可以通过
adb reboot bootloader 直接重启到fastboot模式 - 如果处于关机状态,通过组合键(通常是(
音量- 结合 电源键 ) ,进入到fastboot模式fastboot devices`检查设备是否正常链接 - 正常连接到电脑后,利用google提供的命令行工具(fastboot.exe)进行刷写
twrp文件 (img)到recovery 分区中
fastboot flash recovery .\twrp-3.6.2_9-0-santoni.img
进入recovery模式的通法
- 除了尝试音量键和电源键,我更推荐在开机状态下执行adb命令
adb reboot recovery 的方式进入到recovery
- 如果你刷入的是第三方recovery,那么就会进入到第三方recovery(譬如twrp)
- 好处是不要把握按按键组合和按压时间
按键法进入recovery注意事项
- 如果您已经通过某种方式刷入第三方rom系统包,而想要进入recovery,进入方式可能发生改变
- 例如,我的情况
- 设备:redmi 4x(已经解除bl锁)
- 通过fastboot刷入第三方recovery(用的是twrp)
- 下载的第三方rom系统包,借助刚刚刷好的twrp(recovery)卡刷刷入rom包
- 系统能够正常进入,但是进入recovery的方式发生改变
- 原本是
音量+ 配合电源键 进入recovery - 现在经过一番尝试,变为
音量+ ,音量- ,电源键 同时按下进入
刷机包是纯正的卡刷包吗
- 不同的第三方ROM刷入方式可能存在差异
- 例如
lineageOS 提供的包的刷入方式和魔趣 的包是有差异的 - 前者似乎是使用依赖于
- 魔趣的包目前刷入风格是可以直接通过twrp就可以愉快的刷入
各种清除数据的操作&N清
format Data
- format Data 在新刷入的系统启动时要求输入密码的时候,执行它(通常不需要执行)
高级清除:N清
- If you are switching ROMs (changing from one ROM to a completely different one) then you should perform a factory reset.
- A factory reset wipes data and cache (which includes dalvik cache).
- A factory reset will also wipe sd-ext and android_secure if your device has those items. 99% of the time, this is all that you need to wipe and you only need to do it once, not three times as some people would lead you to believe.
- If you’re installing a nightly update, then oftentimes you don’t need to wipe anything at all. However, if you encounter strange behavior, then you may want to consider performing a factory reset. Of course, if the ROM maker recommends that you do a factory reset during an update, then it’s a good idea to follow their recommendation.
- The vast majority of ROMs wipe system as part of the zip install. This means that in most cases you do not need to wipe system… ever.
- At this point, cache (not dalvik cache) is primarily used for recovery. It’s used to store the recovery log and for storing OTA (Over The Air) updates. You probably don’t need to wipe cache, and cache is already wiped as part of a factory reset.
- In most ROMs, dalvik cache is stored in the data partition, so if you do a factory reset, you’ve also wiped dalvik cache. In a few custom ROMs, especially on older devices with small data partitions, the ROM maker may have moved dalvik to the cache partition to provide you with more room for apps. Since we wipe cache with a factory reset, again, you probably don’t need to wipe dalvik. There are a few situations where you may need to wipe dalvik cache when installing updates, but you will know that it’s needed when you are greeted with force closes when trying to open some apps.
- Depending on your device and its configuration, you may have options for wiping internal storage, external storage, sd-ext, android_secure, and/or an option for formatting data. There’s almost no reason that you would ever need to use these items. These options are there for convenience. For instance, if you’re getting ready to sell your device, then it’s a good idea to wipe everything on the device so that the new owner doesn’t get your private data. Note that these wipe options may not be completely destructive. If you store especially sensitive information on your device or are really concerned about your private data, then you may need to look into other options to ensure that your data is fully destroyed.
用twrp刷入第三方rom(魔趣提供的rom为例)(twrp玩法1)
注意事项
- 下载合适的刷机包
- 不合适的刷机包导致
- 无法正常刷入
- 刷入但无法开机
- 我用的例子是从
魔趣那里下载的
- 一般老机器刷入以后,有可能就焕发第二春啦
- 有机会体验类原生
- 体验较高版本的android(OEM可能停止维护,就可以通过这种方式尝鲜)
- 拒绝臃肿,体验到精简系统
查看rom提供者的刷入教程
- 不同rom提供来源会配备独家的刷入流程
- 甚至于,不同版本的android,同一网站提供的不同rom包刷入教程也可能不同
- 例如这是魔趣提供的刷入流程(参考)
关于魔趣
下载魔趣
用twrp刷入面具获取root(twrp玩法2)
下载magisk app的安装包
注意事项
- 下载完后,及时安装上magisk app,即,在刷入之前就安装好
- 我试过如果在刷入后,才安装会使得root无法被接管
将包放在你能够轻易找到的地方
修改包名(刷入面具时是可选的)
-
实际上,经过我的实践,不需要修改apk后缀为zip,直接就可以用twrp将magisk当做一个刷机包刷入
-
但是注意,卸载magisk的时候情况可能就不一样了,需要你改成指定的名称参考下面(我没试过卸载面具)
参考链接:用于第三方recovery卡刷面具
其他方式
- 你可以复制apk的一个副本,然后修改副本的包名为
.zip 后缀
重启手机到twrp
- 不同机器有不同
- 前面也提到过了,输入第三方包后,可能进入方式按键组合可能发生改变
- 原本是
音量+ 配合电源键 进入recovery - 现在经过一番尝试,变为
音量+ ,音量- ,电源键 同时按下进入 - 开机状态下可以直接尝试按
- 按到什么时候?
- 直到重启到twrp第一幕大图标弹出为止
- (已经可以立刻松手了(如果按压过久,会导致twrp被跳过进入系统引导)
- 并且松手的片刻,后续可能灭屏再加载几秒)(耗时10s左右吧)
- 这时候单击一下电源键唤醒屏幕
- (twrp有锁屏功能,还有调节语言/亮度/振动等功能)
- 甚至,你在刷入包的时候还可以单机电源键锁屏,来节省电源,想要查看进度的时候再单机电源键即可
选择刷机包
- 可以看到,我下载的
magisk.apk (这里名字是app-release.apk ,并且我还复制了一份改名为app-release.zip ) - 选择刷入
app-release.zip (根据自己的包名选择)
安装选项
开始刷入
检查效果
- 重启手机
- 打开提前安装好的magisk app
- 本人是预先安装后才开始刷入的
- 不出意外,可以使用root授权功能了
冷门机型/低端机刷机的刷机心得
实际上,入门机型或者冷门的低端机型是不建议用来玩机的,各方面玩机资源的不充足,连个twrp都没有官方适配,而且由于配置低端,有些模块甚至都无法使用
- 某些机器是冷门的,这种情况下,twrp团队管方没有提供twrp包文件给用户
- 幸运的是,我们可以通过搜索引擎/论坛获取相关的非官方twrp,我们姑且称呼这类非官方(unofficial) twrp(
瑕疵twrp )(或者称之为high risk twrp,即高风险twrp )
- 除了twrp,其他第三方recovery(例如
orange fox 也是类似的道理) - 不幸的是,非官方的twrp包往往存在问题,例如,刷入兼容性不佳的twrp,可能导致无法使用常规方法进入twrp(recovery)
- 事实上,即使使用的是twrp官方团队制作的正式发布的official twrp,也有基类会导致设备变砖
- 特别是不恰当的操作,或者对于android启动和分区机制不了解/电脑端
fastboot 命令行工具(或其他客户端)的不正确使用,导致分区被破坏,都有可能使得手机变砖 - 譬如,将不正确的recovery包刷入到手机中,或者把准备刷入recovery分区的包给刷到boot或者其他分区
- 而刷入高风险twrp后,即使能够成功进入twrp功能菜单,也会由于兼容性,导致文件系统无法访问
- 也可能使得本来可以刷入的rom,在安装解析的时候发生错误而终止
- 高风险twrp的刷入建议
- 尽管冒着变砖的风险,你还是想尝试,那么我提一下可以降低变砖风险的一些建议
- 找twrp时,尽量找有完整教程的资源贴或者文章(图文并茂的更好)或者有配套视频的就更好了
- 而且,可以的话,多找一套,配有版本不同(twrp)资源的教程
- 这样可以在第一套twrp无法进入时又其他机会进入twrp
- 了解android的基本知识(譬如近几年的android分区)
- 阅读twrp的主要功能和使用说明
- 另一方面,了解对应设备产生提供的救砖流程
- 比如救砖工具(客户端,比如小米的MiFlash)
- 我甚至用oem提供的线刷工具把进不了组合按键进不了fastboot的变砖机(无线重启)给重新卡入fastboot
- 设备制造商oem官方提供的线刷包
高风险twrp下可能出现的问题举例
声明
- 编写这篇日志的时候,我对于android高版本得到分区还不是特别了解
- 比如,自从android7引入的a/b分区以及android11引入的超级分区(super partitoin)
- 这些可能潜在的会对twrp的刷入方式和使用差生影响
Required key not available
-
例如,我尝试使用adb shell从电脑端传输文件到手机端(处于高风险twrp界面)
-
可与遇到的情况:adb push 在twrp下传输时,需要formatData进行解密 -
~
cp: can't create '/sdcard/Magisk-v25.2.apk': Required key not available
-
我的处理办法是,进入wipe->formatData(清除加密和其他系统数据)
-
然后重新尝试上述的文件传输操作 -
有些高风险twrp,甚至,还会影响到你进入fastboot模式,使得手机变成一块黑砖(亲身经历过)
twrp & magisk & rom
- 某些版本的twrp提供了丰富的功能模块,可以方便的刷入一些东西,譬如获取root权限
-
-
譬如我选择Install Root
- 这个版本twrp提供的root功能会刷入面具
- 但是不保证刷入一定是正常的(特别是对于高风险twrp)
第三方rom刷入和magisk root推荐做法
急救处理/高风险twrp试探可用性
-
其实,twrp也不是非得固化刷入,特别是没有twrp官方支持的情况下 -
处理利用OEM的线刷工具抢救还可以试试一下命令(前提是可以进入fastboot模式)
fastboot boot 命令
-
fastboot boot recovery_file_name.img -
其中,recovery.img根据你的twrp文件名称而定 -
这会尝试进入临时刷入的twrp(如果recovery不正常,可能会尝试重启系统)
- 但是不同设备情况有可能不同的反应,特别是已经变砖的机器
- 而且可能还需要你同时按下
音量下 联合电源键 把recovery卡出来
- 说到这里已经有点玄乎了,但是我的一台老设备刷了高风险twrp后感觉真的玄乎
- 这条命令在兼容性好的时候应该蛮有用
android相关知识的补充
视频教程
★
\bigstar
★
- [玩机必看!带你入坑安卓刷机,小白也能看懂的ROOT基础指南来啦!_哔哩哔哩_bilibili](
android设备的系统启动过程
分区知识:a/b分区的设备是否更难刷机?
android 文件系统的常用目录&/sdcard目录
-
现在android设备基本取消了内存卡插槽,至于android里的sdcard 目录是android系统的一个用于存放文件的目录 -
/storage/emulated/0/ 目录是android自带文件管理器可以查看到的顶级目录
-
而使用特别开发的app(并且授予其权限)可以访问到根目录/
-
感兴趣的话可以下载MT管理器app 进行目录观察
-
根目录下的常用目录包括
/storage
- 该目录下的
/storage/emulated/0/ 正是一般情况下我们能够看到的最顶级的目录了 /sdcard/ -
以及一些linux/unix系统上常见的目录
fastboot常用命令和用途
? - How to Use ADB and Fastboot on Android (And Why You Should) (makeuseof.com)
fastboot 命令行工具的功能分类usage: fastboot [OPTION…] COMMAND…
flashing:
update ZIP Flash all partitions from an update.zip package.
flashall Flash all partitions from $ANDROID_PRODUCT_OUT.
On A/B devices, flashed slot is set as active.
Secondary images may be flashed to inactive slot.
flash PARTITION [FILENAME] Flash given partition, using the image from
$ANDROID_PRODUCT_OUT if no filename is given.
basics:
devices [-l] List devices in bootloader (-l: with device paths). getvar NAME Display given bootloader variable. reboot [bootloader] Reboot device.
locking/unlocking:
flashing lock|unlock Lock/unlock partitions for flashing flashing lock_critical|unlock_critical Lock/unlock ‘critical’ bootloader partitions. flashing get_unlock_ability Check whether unlocking is allowed (1) or not(0).
advanced:
erase PARTITION Erase a flash partition.
format[:FS_TYPE[:SIZE]] PARTITION
Format a flash partition.
set_active SLOT Set the active slot.
oem [COMMAND...] Execute OEM-specific command.
gsi wipe|disable Wipe or disable a GSI installation (fastbootd only).
wipe-super [SUPER_EMPTY] Wipe the super partition. This will reset it to
contain an empty set of default dynamic partitions.
create-logical-partition NAME SIZE
Create a logical partition with the given name and
size, in the super partition.
delete-logical-partition NAME
Delete a logical partition with the given name.
resize-logical-partition NAME SIZE
Change the size of the named logical partition.
snapshot-update cancel On devices that support snapshot-based updates, cancel
an in-progress update. This may make the device
unbootable until it is reflashed.
snapshot-update merge On devices that support snapshot-based updates, finish
an in-progress update if it is in the "merging"
phase.
fetch PARTITION OUT_FILE Fetch a partition image from the device.
boot image:
boot KERNEL [RAMDISK [SECOND]] Download and boot kernel from RAM.(临时的刷入)
flash:raw PARTITION KERNEL [RAMDISK [SECOND]] Create boot image and flash it. –dtb DTB Specify path to DTB for boot image header version 2. –cmdline CMDLINE Override kernel command line. –base ADDRESS Set kernel base address (default: 0x10000000). –kernel-offset Set kernel offset (default: 0x00008000). –ramdisk-offset Set ramdisk offset (default: 0x01000000). –tags-offset Set tags offset (default: 0x00000100). –dtb-offset Set dtb offset (default: 0x01100000). –page-size BYTES Set flash page size (default: 2048). –header-version VERSION Set boot image header version. –os-version MAJOR[.MINOR[.PATCH]] Set boot image OS version (default: 0.0.0). –os-patch-level YYYY-MM-DD Set boot image OS security patch level.
Android Things:
stage IN_FILE Sends given file to stage for the next command. get_staged OUT_FILE Writes data staged by the last command to a file.
options:
-w Wipe userdata. -s SERIAL Specify a USB device. -s tcp|udp:HOST[:PORT] Specify a network device. -S SIZE[K|M|G] Break into sparse files no larger than SIZE. –force Force a flash operation that may be unsafe. –slot SLOT Use SLOT; ‘all’ for both slots, ‘other’ for non-current slot (default: current active slot). –set-active[=SLOT] Sets the active slot before rebooting. –skip-secondary Don’t flash secondary slots in flashall/update. –skip-reboot Don’t reboot device after flashing. –disable-verity Sets disable-verity when flashing vbmeta. –disable-verification Sets disable-verification when flashing vbmeta. –fs-options=OPTION[,OPTION] Enable filesystem features. OPTION supports casefold, projid, compress –unbuffered Don’t buffer input or output. –verbose, -v Verbose output. –version Display version. –help, -h Show this message.
|