关于打造安卓测试机的方法以及常见问题的解决方式

摘要:

本文主要讲解如何打造安卓测试机,并刷机google原生系统、部署Magisk对测试机进行root的常用方式;并对一些常见问题进行思路解答。本文适合新手学习,大佬请绕过

本次实验使用的设备及环境如下:

Nexus 5x 测试机一部(闲鱼100-150即可购买一部)
镜像下载的网站: https://developers.google.cn/android/images?hl=zh-cn#angler
TWRP Recoery刷机镜像站: https://twrp.me/
Magisk 下载: https://github.com/topjohnwu/Magisk/releases
Lsposed 下载: https://github.com/LSPosed/LSPosed/releases
platform-tools 工具下载: https://dl.google.com/android/repository/platform-tools_r34.0.4-windows.zip
驱动 :https://developer.android.com/studio/run/win-usb?hl=zh-cn

首先说一下,为什么使用Nexus的设备,一个是成本低,一个是更适合做测试机,解BL锁不需要太麻烦,同时支持的各种原生镜像的种类也比较多,刷机的方法也比较成熟

现在适合做测试机的设备其实很多,除了最优选的Nexus、Pixel外,现在的一加、小米等骁龙处理器的设备都可以做测试机,只不过渠道限制的比较多

而由于安卓7.0以上和以下,信任证书的问题,所以会有一些其他的操作,包括Xposed框架和Lsposed框架的选择、信任证书的安装方式、甚至是安装不同版本的Magisk

这里面提到了Magisk 和 Lsposed;Lsposed框架是现在比较新的框架了,但是他似乎只支持安卓7.0以上的版本;而Magisk 并没有这个限制,但是低于26.0的Magisk 版本会有很多好的插件用不了,比如说Shamiko 插件,更适合躲避root检测,但是低于26.0的Magisk 是用不了的,同时26.0的Magisk 并不适合Recoery 强刷,虽然刷完了不对镜像进行修复也可以使用部分root功能,但是确实是存在一定的缺陷,所以大家在测试的时候都需要进行避坑

Bootloader 模式

首先第一步是如何进入Bootloader模式:
此处以Nexus5x为例,大致有两种方式
方式一:
手机能开机,打开开发者模式,信任计算机后,利用ADB功能进入bootloader;adb工具大家请根据platform-tools 工具下载即可,此处不演示添加环境变量的步骤,大家可以选择添加,也可以选择不添加

adb devices

在这里插入图片描述
出现这种情况不要慌,只需要信任计算机即可
在这里插入图片描述

在这里插入图片描述
执行该命令是看看有没有adb可连接的设备,如果后面显示的事device那么就可以了,如果是offline,那么请执行adb kill-server或重启计算机、手机;或使用方法二进入bootloader

adb reboot bootloader

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

想要刷机,首先第一步是需要确认手机的BL锁是解锁的状态,由于不同的手机厂商对手机解锁的方式不一样,所以这里仅仅是展示Nexus 5x解锁的样子,如果不是这个样子,那么请执行

fastboot oem unlock

方式二:
按住手机电源键 + 音量下键,直至出现bootloader页面松手即可进入bootloader模式

接下来是第一个坑,进入到bootloader模式后,fastboot devices识别不到设备,这个时候需要大家手动更新计算机的驱动

https://developer.android.com/studio/run/win-usb?hl=zh-cn

电脑按win+x选择设备管理器,右键选则更新程序软件,在弹出的对话框中选择浏览计算机以查找驱动程序的软件,选择浏览,然后选中下载的驱动的文件夹(不用选的很具体,电脑会自动搜索安装,建议选arm、x86的上一个文件夹)
在这里插入图片描述

刷机镜像选择

这里推荐大家下载安卓8.1的OPM1.171019.011镜像包
在这里插入图片描述
在这里插入图片描述
大家可以看到,笔者将第二个压缩文件里的东西也给解压出来了,一会这是第二个坑
常规来讲,这个时候,大家执行
fastboot devices
在这里插入图片描述
这个时候,只需要在解压目录下,执行flash-all.bat ,而后等待刷机结束就可以了
在这里插入图片描述
这里的第二个坑,就是有的环境会报错,bat脚本会无法执行里面的fastboot -w update image-bullhead-opm1.171019.011.zip 命令,以至于系统找不到boot.img、system.img等包,所以需要我们手工的更改一下脚本

在这里插入图片描述
如果大家遇到了特殊情况,只需要把注释的内容覆盖就可以了,记得将image-bullhead-opm1.171019.011.zip文件解压到当前目录

fastboot flash android-info android-info.txt
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash recovery recovery.img
fastboot flash vendor vendor.img

Magisk的部署

此时手机是可以正常开机的,大家记得打开开发者模式,而后重新信任计算机后即可使用adb进行操作,大家需要自行下载magisk的apk安装包进行手工安装

adb install magisk.apk

安装成功后,会提示success,这个时候手机里会有magisk的图标,大家打开magisk软件,因为笔者没有留图,所以大家凑合看一下
在这里插入图片描述

上图是root成功的图,正常的话zygisk是否的,大家需要点击安装按钮,取消所有的选项,然后选择并修补一个文件

在这里插入图片描述
修补的文件,其实就是镜像包里的boot.img文件,大家需要将这个文件push到安卓手机能访问到的目录,然后选中,点击修复,待magisk修复成功后会在日志内提示文件的位置,大家记住文件在什么地方,导出修复好的img包

adb pull /sdcard/Download/magisk_patched-24000_GXe4N.img

在这里插入图片描述

adb reboot bootloader
fastboot flash boot magisk_patched-24000_GXe4N.img
fastboot reboot

在这里插入图片描述

这个时候工作并没有完成,当手机重启后,大家发现,超级用户功能可以使用,并且出现了卸载magisk功能的时候,这个时候说明magisk的root成功了

此时点击首页右上角设置按钮
在这里插入图片描述

下滑至Magisk模块,划开Zygisk功能并重启手机,才算是真正的结束配置
在这里插入图片描述

这个时候第三个坑来了,很多手机都在这个时候起不来了,手机变砖头了,卡在google开机页面怎么也进不去系统,这个时候怎么办?

按住手机电源键+音量下键,直至重新进入到bootloader页面,这个时候大家不需要重新点击flash-all.bat 进行系统重装,仅仅需要执行以下命令即可修复
fastboot flash boot boot.img
需要注意的是,boot.img就是你放进手机里修复镜像用的东西!这个时候不出意外都可以开机了,但是尴尬的就是root失效了

TWRP进行Recovery强刷root

TWRP大家最上面的地址,而后选择nexus 5x机型,下载最新的twrp-3.7.0_9-0-bullhead.img 即可
这个时候不要重启手机,让手机保持在bootloader页面,输入以下命令
fastboot flash recovery twrp-3.7.0_9-0-bullhead.img

等所有的都显示ok之后,按手机音量下键,选择Recover mode,然后按电源键即可进入recovery修复模式
在这里插入图片描述
等待手机重新启动后,即可进入twrp功能,这个时候计算机会自动连接手机文件夹,大家可以将magisk apk安装包复制到手机能访问到的文件夹,然后利用twrp的 install功能安装app,他会自动刷root,这样成功后重启的手机即可正常开机,不会卡在开机页面进不去了

系统根目录证书的导入

上面提到,安卓7.0以上的系统默认只进行手机根目录的证书,所以大家需要将burp的证书导到系统根目录,但是这个时候的根目录是只读模式,需要我们重新挂载system目录才行

附上burp证书修改的方式

openssl x509 -inform DER -in burp.der -out burp.pem
openssl x509 -inform PEM -subject_hash_old -in burp.pem
openssl x509 -inform DER -in burp.der -out 9a5ba575.0

在这里插入图片描述
常规操作是直接将证书导入到手机里

adb push 9a5ba575.0 /system/etc/security/cacerts/9a5ba575.0

但是竟然说有坑,这里是第四个坑
在这里插入图片描述
网上几乎所有的解决方式都是:

adb root
adb remount
adb disable-verity
adb root 
adb remount
adb push 9a5ba575.0 /system/etc/security/cacerts/9a5ba575.0

很不好意思,adb root其实在这个系统里是成不了的,这里就是第5个坑
在这里插入图片描述
而几乎网上所有的解决方式都是,下载超级adbd工具,给上root权限,下载最新版的adb工具,但是很不幸的是,实际上在安卓7以上这个方法就不灵了,这就是第6个坑

不要慌,这个时候依然可以解决,而这里依然有两个解决方案,不推荐直接adb shell ; su ; chmod 777的方式解决问题,这么玩会把手机再次变砖头,也不要chown 更改所属
执行

adb push 9a5ba575.0 /sdcard/
adb shell "su -c 'mount -o remount,rw /system'"

在这里插入图片描述
或者

adb push 9a5ba575.0 /sdcard/
adb shell
su
mount -o rw,remount -t auto /system
cp /sdcard/9a5ba575.0  /system/etc/security/cacerts

这个时候就解决了证书的问题,大家也可以选择安装MT管理器APK,然后给这个工具root权限,就可以直接在工具里把证书导入到system目录
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/98614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入了解归并排序:原理、性能分析与 Java 实现

归并排序(Merge Sort)是一种高效且稳定的排序算法,其优雅的分治策略使它成为排序领域的一颗明珠。它的核心思想是将一个未排序的数组分割成两个子数组,然后递归地对子数组进行排序,最后将这些排好序的子数组合并起来。…

TensorFlow入门(十四、数据读取机制(1))

TensorFlow的数据读取方式 TensorFlow的数据读取方式共有三种,分别是: ①预加载数据(Preloaded data) 预加载数据的方式,其实就是静态图(Graph)的模式。即将数据直接内嵌到Graph中,再把Graph传入Session中运行。 示例代码如下: import tensorflow.compat.v1 as tf tf.disabl…

符合 EN55022B 规格、LTM4613EY、LTM4613MPV直流µModule稳压器【RG500Q 5G Sub-6 GHz 模块】

一、LTM4613,符合 EN55022B 规格的 36VIN、15VOUT、8A、DC/DC Module 稳压器 (简介)LTM4613 是一款完整、超低噪声、8A 开关模式 DC/DC 电源。封装中内置了开关控制器、功率 FET、电感器和所有的支持元件。LTM4613 的工作输入电压范围为 5V 至…

基于maven的项目搭建(已跑通)

1、直接选择archetype-webapp即可 (这里很多人会觉得很慢–解决方案:https://blog.csdn.net/qq_45591895/article/details/133705674?spm1001.2014.3001.5501) 2、手动添加一个java目录即可。 3、添加Tomcat 3、这就跑通了,可以…

Python 樱花

Python实现樱花 效果图 (源码在下面) 源码: from turtle import * from random import * from math import *def tree(n, l):pd() # 下笔# 阴影效果t cos(radians(heading() 45)) / 8 0.25pencolor(t, t, t)pensize(n / 3)forward(l…

基于 FPGA 的机器博弈五子棋游戏

基于 FPGA 的机器博弈五子棋游戏 一,设计目的 五子棋是一种深受大众喜爱的游戏,其规则简单,变化多端,非常富有趣味性 和消遣性。棋类游戏在具备娱乐性、益智性的同时也因为其载体大多是手机, 电脑等移动互联网设备导致现代社会低头族等现象更加严重,危害青少年的身 体健康…

ThreeJS-3D教学五-材质

我们在ThreeJS-3D教学二&#xff1a;基础形状展示中有简单介绍过一些常用的材质&#xff0c;这次我们举例来具体看下效果&#xff1a; 代码是这样的&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">&…

计算机的进制转换

复习一下二进制的理论知识。 计算机为什么要用二进制表示一切数据&#xff1f; 因为2个数可以表示一切&#xff0c;而且电极高低2种对硬件人员制作来说比较友好。 于是0就表示为空&#xff0c;1就表示有东西。 十进制转换为二进制 二进制是由0和1组成的&#xff0c;如01,000…

java多线程卖电影票的三种实现方式

java多线程卖电影票的三种实现方式 一、需求描述二、实现方式1、继承Thread类的方式2、实现Runnable接口的方式3、使用Lock锁的方式 一、需求描述 某电影院目前正在上映国产大片&#xff0c;共有1000张票&#xff0c;而它有2个窗口卖票&#xff0c;请设计一个程序模拟该电影院…

【ARM CoreLink 系列 1 -- SoC 片上互联介绍】

文章目录 概述1.1 片上互连架构的发展1.1.1 BUS 共享总线结构1.1.2 Crossbar 结构1.1.3 Ring 结构1.1.4 Mesh 网格结构 1.2 ARM 总线互联特点小结1.2.1 NOC 总线互联的特点 下篇文章&#xff1a;【ARM CoreLink 系列 1.1 – CoreLink 系列 产品介绍】 概述 在摩尔定律的推动下…

【Linux基础】Linux的基本指令使用(超详细解析,小白必看系列)

&#x1f449;系列专栏&#xff1a;【Linux基础】 &#x1f648;个人主页&#xff1a;sunnyll 目录 &#x1f4a6; ls 指令 &#x1f4a6; pwd指令 &#x1f4a6;cd指令 &#x1f4a6;touch指令 &#x1f4a6;mkdir指令&#xff08;重要&#xff09; &#x1f4a6;rmdir指令…

智慧工地:数字革命下的建筑业新趋势

在当今建筑领域&#xff0c;智慧工地正迅速崭露头角。这个概念不仅代表了技术进步&#xff0c;还预示着建筑行业的数字化和智能化未来。从多个角度来看&#xff0c;智慧工地都具有深远的意义&#xff0c;它正在改变着我们建筑的方式和未来。 提高工程效率 智慧工地利用物联网&…

正点原子嵌入式linux驱动开发——Linux内核启动流程

上一篇笔记学习了Linux内核的顶层Makefile&#xff0c;现在来看Linux内核的大致启动流程&#xff0c;Linux内核的启 动流程要比uboot复杂的多&#xff0c;涉及到的内容也更多&#xff0c;因此本章就大致的了解一Linux内核的启动流程。 链接脚本vmlinux.lds 要分析Linux启动流…

2023年10月9日历史上的今天大事件早读

1740年10月09日红溪惨案 1874年10月09日万国邮政联盟成立 1912年10月09日第一次巴尔干战争爆发 1913年10月09日武昌起义元勋蒋翊武被害 1924年10月09日近代翻译家林纾(林琴南)逝世 1934年10月09日南斯拉夫国王遇刺身亡 1936年10月09日红军三大主力会师 1941年10月09日第…

电子招标投标系统 —采购招投标管理一体化系统-

项目说明 随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大&#xff0c;公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境&#xff0c;最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范&#xff0c;以及审…

SSL证书一次性购买多年期,有什么好处?

根据国际标准要求&#xff0c;2020 年 9 月 1 日起&#xff0c;全球信任的SSL证书最长有效期不能超过一年&#xff08;398天&#xff09;。一方面SSL证书有效期缩短可以大大提升SSL证书的安全性&#xff0c;但另一方面也意味着&#xff0c;用户每年都需要重复采购、付款、验证等…

数据重整:用Java实现精准Excel数据排序的实用策略

摘要&#xff1a;本文由葡萄城技术团队原创并首发。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 前言 在数据处理或者数据分析的场景中&#xff0c;需要对已有的数据进行排序&#xff0c;在E…

什么是基于意图的网络(IBN)

基于意图的网络是一种网络技术&#xff0c;它根据业务意图&#xff08;来自网络管理员的服务请求&#xff09;配置 IT 基础架构&#xff0c;无需任何人工干预&#xff0c;它不断提供关键的网络见解&#xff0c;并不断调整硬件配置以确保满足意图&#xff0c;它将网络从以设备为…

【重拾C语言】七、指针(一)指针与变量、指针操作、指向指针的指针

目录 前言 七、指针 7.1 指针与变量 7.1.1 指针类型和指针变量 7.1.2 指针所指变量 7.1.3 空指针、无效指针 7.2 指针操作 7.2.1 指针的算术运算 7.2.2 指针的比较 7.2.3 指针的递增和递减 7.3 指向指针的指针 前言 指针是C语言中一个重要的概念正确灵活运用指针 可…

机器学习笔记 - 两个静态手势识别的简单示例

一、关于手势识别 手势识别方法通常分为两类:静态或动态。 静态手势是那些只需要在分类器的输入处处理单个图像的手势,这种方法的优点是计算成本较低。动态手势需要处理图像序列和更复杂的手势识别方法。 进一步了解可以参考下面链接。 静态手势识别和动态手势识别的区别和技…