The Android ADB principle (1) --- ADB enable / disable


http://www.phonesdevelopers.info/1780833/


Tag: debugging, the android, SYSTemCategory: androidAuthor: heimakingDate: 2012-09-10

When the user to select "Settings" -> "Applictions" -> "devleopment" -> "USB Debugging"

1. Call: Settings.Secure.putInt (getContentResolver (), Settings.Secure.ADB_ENABLED, 1) in packages / apps / Settings / src / com / android / settings / DevelopmentSettings.java

2. Frameworks / base / services / java / com / android / server / SystemServer.java in a AdbSettingsObserver:

mContentResolver.registerContentObserver (Settings.Secure.getUriFor (Settings.Secure.ADB_ENABLED),

false, new AdbSettingsObserver ());

Will receive a notification when ADB_ENABLED change, and will then the set persist.service.adb.enable 1 or 0.

In init.rc medium:

# Adbd is controlled by the persist.service.adb.enable system property
service adbd / sbin / adbd
# Disabled


on property: persist.service.adb.enable = 1
start adbd

on property: persist.service.adb.enable = 0
stop adbd

Therefore, when changes persist.service.adb.enable, the adbd will be started or stopped.

the adbd source code system / core / adb below


posted @ 2017-04-22 15:57  张同光  阅读(153)  评论(0编辑  收藏  举报