MTK 默认是在ENG 版本中关闭了adb RSA 指纹认证,在USER 版本中开启了adb RSA 指纹认证. 如果 贵司需要调整的话
1.JB/KK 版本可以修改alps/build/core/main.mk :
ifeq (true,$(strip $(enable_target_debugging)))
# Target is more debuggable and adbd is on by default
ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1
ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1 ==> 如果想在ENG Load新增此功能,设置 ro.adb.secure=1
# Include the debugging/testing OTA keys in this build.
INCLUDE_TEST_OTA_KEYS := true
else # !enable_target_debugging # Target is less debuggable and adbd is off by default
ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0
ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1 ==> 如果想在USER Load关闭此功能,设置 ro.adb.secure=0
endif # !enable_target_debugging
2.L以后版本可以修改 /device/mediatek/mtXXXX/device.mk :
ifneq ($(TARGET_BUILD_VARIANT),user)
ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=0 else
ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1 ==> 如果想在USER Load关闭此功能,设置 ro.adb.secure=0
endif
而ro.adb.secure 这个system property 对于adbd 的控制点在alps/system/core/adb/adb.c 中的
property_get("ro.adb.secure", value, "0");
auth_enabled = !strcmp(value, "1");
if (auth_enabled)
adb_auth_init();
......
3.M 版本后, Google 在/system/core/adb/android.mk 里面通过宏强制限制了这个功能只有在 userdebug, eng 版本中关闭, 如果在user 版本中需要关闭, 则还需要修改:system/core/adb/android.mk
ifeq (yes, $(strip $(MTK_BUILD_ROOT)))
LOCAL_CFLAGS += -DMTK_ALLOW_ADBD_ROOT=1
LOCAL_CFLAGS += -DALLOW_ADBD_NO_AUTH=1
else
LOCAL_CFLAGS += -DALLOW_ADBD_NO_AUTH=$(if $(filter userdebug eng,$(TARGET_BUILD_VARIANT)),1,0)
endif
===>
ifeq (yes, $(strip $(MTK_BUILD_ROOT)))
LOCAL_CFLAGS += -DMTK_ALLOW_ADBD_ROOT=1
LOCAL_CFLAGS += -DALLOW_ADBD_NO_AUTH=1
else
LOCAL_CFLAGS += -DALLOW_ADBD_NO_AUTH=$(if $(filter userdebug user eng,$(TARGET_BUILD_VARIANT)),1,0)
endif
需要注意的是,Google 现在强制要求在USER 版本中开启adb RSA 指纹认证,如果您关闭,将无法 通过Google CTS 测试.