Android系统默认开启adb root模式

需求描述

将adb root模式默认开启

解决方案

system/core/adb/daemon/main.cpp

static bool should_drop_privileges() {
#if defined(ALLOW_ADBD_ROOT)
    char value[PROPERTY_VALUE_MAX];

    // The properties that affect `adb root` and `adb unroot` are ro.secure and
    // ro.debuggable. In this context the names don't make the expected behavior
    // particularly obvious.
    //
    // ro.debuggable:
    //   Allowed to become root, but not necessarily the default. Set to 1 on
    //   eng and userdebug builds.
    //
    // ro.secure:
    //   Drop privileges by default. Set to 1 on userdebug and user builds.
    property_get("ro.secure", value, "1");
    bool ro_secure = (strcmp(value, "1") == 0);

    property_get("ro.debuggable", value, "");
    bool ro_debuggable = (strcmp(value, "1") == 0);

    // Drop privileges if ro.secure is set...
    bool drop = ro_secure;

    property_get("service.adb.root", value, "");
    bool adb_root = (strcmp(value, "1") == 0);
    bool adb_unroot = (strcmp(value, "0") == 0);

    // ... except "adb root" lets you keep privileges in a debuggable build.
    if (ro_debuggable && adb_root) {
        drop = false;
    }

    // ... and "adb unroot" lets you explicitly drop privileges.
    if (adb_unroot) {
        drop = true;
    }

    return drop;
#else
    return true; // "adb root" not allowed, always drop privileges.
#endif // ALLOW_ADBD_ROOT
}

修改system/core/adb/daemon/main.cpp的should_drop_privileges()方法返回为false

修改build/core/main.mk,使ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=0

添加属性device/qcom/msm8953_64/system.prop,该属性会编译到root/default.prop

ro.secure=0
ro.adb.secure=0
ro.duebuggbale=1
相关推荐
思忖小下1 小时前
深入Android架构(从线程到AIDL)_16 应用Android的UI框架03
android·ui框架
一本正经光头强2 小时前
掌控ctf-2月赛
android·ide·android studio
zhangphil2 小时前
Android Glide判断当前运行环境是否为主线程的工具方法,Kotlin
android·kotlin·glide
Android_小白3 小时前
adb remount 重新挂载 system时报错 Device or resource busy
adb
Conmi·白小丑3 小时前
Conmi的正确答案——Cordova使用“src-cordova/config.xml”编辑“Android平台”的“uses-permission”
android·xml
小wanga5 小时前
【C++】特殊类设计
android·c++
龙之叶5 小时前
Android13实时刷新频率的实现代码
android·java·ui
m0_748257465 小时前
【MySQL系列文章】Linux环境下安装部署MySQL
linux·mysql·adb
等一场春雨6 小时前
linux 查看 MySQL 在 Linux 或 WSL 上的运行状态
linux·mysql·adb
南棱笑笑生6 小时前
20250107在WIN10下使用无线ADB连接Andorid7.1.2
adb