howellz
V2EX  ›  Android

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

  •  
  •   howellz · Sep 22, 2020 · 12322 views
    This topic created in 2085 days ago, the information mentioned may be changed or developed.

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

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

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

    5 replies    2020-09-23 09:39:43 +08:00
    howellz
        1
    howellz  
    OP
       Sep 22, 2020
    莫非是 QueueAllPropertyActions()再次将所有的 properties 重新触发了一次?
    bog
        2
    bog  
       Sep 22, 2020 via Android
    记得好像是 init.usb.rc 设置的 property
    VYSE
        3
    VYSE  
       Sep 22, 2020
    init 进程启动的, 根据服务里写的触发条件
    SupperMary
        4
    SupperMary  
       Sep 22, 2020
    印象中是编译 userdebug 的时候编译过程中会设置一个属性,这个属性会被 rc 文件读取并启动。
    没记错的话这个属性是`persist.sys.usb.config`。如果 vendor 不设置这个属性。这个属性会在编译过程中被设置为`adb`。然后经过层层转接启动`adbd`
    gtxtitan
        5
    gtxtitan  
       Sep 23, 2020
    USB 插入-》 RC 脚本时间触发,设置 persist.sys.usb.config=adb ->configfs 里面写入 adb->gadget 启动 adbd
    或者通常使用的安卓上层 debug 方式,其最终控制也是写 persist.sys.usb.config
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3151 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 13:21 · PVG 21:21 · LAX 06:21 · JFK 09:21
    ♥ Do have faith in what you're doing.