Android10如何设置ro.debuggable=1?

说明:仅供学习使用,请勿用于非法用途,若有侵权,请联系博主删除

作者:zhu6201976

目录

一、背景

二、如何解决?

三、操作步骤


一、背景

Android 10 开始的限制:ro.debuggable 是只读属性

从 Android 9(部分设备)和 Android 10 开始,Google 加强了对系统属性的保护:

  • ro.debuggable只读属性 ,保存在只读的 boot.img 中(准确地说,是 boot 的 default.prop 区域或内核命令行)。

  • 不能通过 setpropmprop 或任何用户态工具真正修改这个属性。

二、如何解决?

要真正开启 ro.debuggable,通常需要更深层次的系统修改,例如:

  1. 修改 boot.img 并重新刷写 (Modify and Re-flash boot.img): 这是最常见也是最有效的方法,但需要解锁 Bootloader 并具备一定的 Android 刷机知识。

    • 解锁 Bootloader
    • 获取 Boot Image : 从官方固件中提取 boot.img 文件。
    • 修改 default.prop : 在 boot.img 内部,有一个 default.prop 文件,其中包含 ro.debuggable 属性的定义。你需要解包 boot.img,修改这个文件,将 ro.debuggable=0 改为 ro.debuggable=1
    • 重新打包并刷写 : 将修改后的 boot.img 重新打包,并通过 fastboot 命令刷写到手机上。
    • 注意: 这种方法会使您的设备脱离官方支持,并且可能会影响 OTA 更新。
  2. 使用 Magisk 等工具进行修改 (Using Magisk or Similar Tools) : 某些 root 解决方案(如 Magisk)提供了修改系统属性的方法,有时甚至可以实现对 ro. 属性的"欺骗性"修改,让某些应用或服务认为 ro.debuggable1。你可以尝试安装 Magisk,然后使用其 resetprop 命令来尝试修改 ro.debuggable

    • 安装 Magisk : 这也需要解锁 Bootloader 并刷入修补过的 boot.img
    • 使用 resetprop : 在 Magisk 环境下,可以尝试 resetprop ro.debuggable 1。但同样,对于真正的只读属性,这可能只是在某些层面上生效,并不能改变底层系统行为。

三、操作步骤

此处通过方案二 使用 Magisk 工具进行修改亲测有效

手机型号:Pixel3

系统版本:Android10

操作步骤:

1.安装Magisk GitHub - topjohnwu/Magisk: The Magic Mask for Android

2.进入手机shell 执行以下命令:

resetprop ro.debuggable 1

stop

start

getprop ro.debuggable 发现已成功修改为1

相关推荐
sinat_286945194 小时前
AI应用安全 - Prompt注入攻击
人工智能·安全·prompt
安卓开发者5 小时前
Android RxJava 组合操作符实战:优雅处理多数据源
android·rxjava
阿华的代码王国5 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
一条上岸小咸鱼5 小时前
Kotlin 基本数据类型(三):Booleans、Characters
android·前端·kotlin
Jerry说前后端5 小时前
RecyclerView 性能优化:从原理到实践的深度优化方案
android·前端·性能优化
alexhilton6 小时前
深入浅出着色器:极坐标系与炫酷环形进度条
android·kotlin·android jetpack
一条上岸小咸鱼12 小时前
Kotlin 基本数据类型(一):Numbers
android·前端·kotlin
Huntto12 小时前
最小二乘法计算触摸事件速度
android·最小二乘法·触摸事件·速度估计
数据智能老司机12 小时前
实现逆向工程——理解 x86 机器架构
安全·逆向
一笑的小酒馆12 小时前
Android中使用Compose实现各种样式Dialog
android