根据主题,我只找到了正确的.c文件来设置“adb shell reboot”(system / core / reboot / reboot.c)中的persist标志,但我在“adb reboot”中找不到它”。两个重启命令有什么区别?
答案 0 :(得分:1)
管理adbd初始行为的标志是“ro”,因此不能在正在运行的系统上更改,而只能通过重新生成启动映像。
should_drop_privileges()源代码的相关部分有解释性注释。
// 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.
通常,您可以使用eng
而不是userdebug
版本来实现目标,或者将这些设置自定义为与所选构建版本的默认值不同的值。
eng
userdebug
adb-root
user
adb-root
实际上,每次需要使用adb root
时,最简单的方法就是执行user
。在脚本中,您可以通过一两秒或更好的睡眠来跟踪它,然后轮询设备以再次开始响应。最终尝试将您需要做的事情以root身份完成到构建系统的原始配置中,这样您最终可能会在生产中使用adb root
风格构建(.k-dialog.k-alert .k-dialog-titlebar {
background-color: #333;
color: #eee;
}
.k-dialog.k-alert .k-button {
background-color: #333;
color: #eee;
}
不支持),除非您的目标是为实验者而不是交钥匙用户制作设备。