user2eng 笔记

1. 编译的时候需要开启ENABLE_USER2ENG=true

2. system/core/init/Android.mk 读取ENABLE_USER2ENG来设置 DUSER2ENG

目的是在property_service.c的check_perms允许修改这些属性:

ro.secure

ro.debuggable

persist.service.atci.usermode

persist.sys.usb.config

persist.user2root.root

persist.service.adb.enable

3. system/core/adb/Android.mk读取ENABLE_USER2ENG来设置 DALLOW_ADBD_ROOT

目的是在adb.c的should_drop_privileges允许adbd允许在root权限

4. 在XXXUser2Root/Android.mk读取ENABLE_USER2ENG以便控制是否将XXXUser2Root 编译进入系统

a. XXXUser2Root接受来自系统的android_secret_code//SECRET_CODE,SECRET_CODE来自dialer中输入的 *#*#SECRET_CODE#*#*

b. 通过Settings.Secure.ADB_ENABLED先关闭adb

   将ro.secure改为0,ro.allow.mock.location改为1,ro.debuggable改为1,persist.sys.usb.config改为adb,acm

5.在拨号画面输入 *#*#SECRET_CODE#*#*,触发android_secret_code//SECRET_CODE的广播,从而进入4的XXXUser2Root


你可能感兴趣的:(user2eng 笔记)