userdebug 版本下 adbd 是如何自动启动的?

2020-09-22 20:51:19 +08:00
 howellz

init.usb.rc,adbd 应该都是配置系统属性sys.usb.config后受到触发启动的。

但是在最初启动时property_load_boot_defaults()的时候,还没有queue_property_triggers()。应该不至于触发服务启动。

莫非是 usb 插入事件导致的?但是好像串不起来。

3961 次点击
所在节点    Android
5 条回复
howellz
2020-09-22 21:11:10 +08:00
莫非是 QueueAllPropertyActions()再次将所有的 properties 重新触发了一次?
bog
2020-09-22 21:28:27 +08:00
记得好像是 init.usb.rc 设置的 property
VYSE
2020-09-22 21:46:14 +08:00
init 进程启动的, 根据服务里写的触发条件
SupperMary
2020-09-22 22:12:45 +08:00
印象中是编译 userdebug 的时候编译过程中会设置一个属性,这个属性会被 rc 文件读取并启动。
没记错的话这个属性是`persist.sys.usb.config`。如果 vendor 不设置这个属性。这个属性会在编译过程中被设置为`adb`。然后经过层层转接启动`adbd`
gtxtitan
2020-09-23 09:39:43 +08:00
USB 插入-》 RC 脚本时间触发,设置 persist.sys.usb.config=adb ->configfs 里面写入 adb->gadget 启动 adbd
或者通常使用的安卓上层 debug 方式,其最终控制也是写 persist.sys.usb.config

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/709548

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX