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

相关推荐
Aphasia3111 天前
VPN 与内网穿透
安全
逐光老顽童2 天前
Java 与 Kotlin 混合开发避坑指南:30 个真实案例实录
android·kotlin
爱勇宝2 天前
鸿蒙生态的下半场:开发者不只要能开发,还要能赚钱
android·前端·程序员
Yeyu2 天前
刷新一帧的艺术:invalidate / postInvalidate / postInvalidateOnAnimation全解析
android
潘潘潘2 天前
Android OTA 升级原理和流程介绍
android
plainGeekDev3 天前
null 判断 → Kotlin 可空类型
android·java·kotlin
plainGeekDev3 天前
getter/setter → Kotlin 属性
android·java·kotlin
YXL1111YXL3 天前
Handler 消息回收与协程异步执行的时序陷阱
android
Mr_愚人派3 天前
当"Claude"不再是 Claude:一次第三方 API 代理引发的 AI 身份伪造排查实录
人工智能·安全
恋猫de小郭3 天前
KMP / CMP 鸿蒙版本 Beta 发布,他有什么特别之处?
android·前端·flutter