本文针对特定soc sdk进行修改,仅供参考
基于Android P 9.0源码进行定制.
一般情况下user包,即发布的对外的版本,无法使用adb root指令,无法读取系统特定位置的数据.
打补丁如下:
system/core/adb/Android.mk修改如下:
LOCAL_CFLAGS := \
-D_GNU_SOURCE \
-Wno-deprecated-declarations \
-LOCAL_CFLAGS += -DALLOW_ADBD_NO_AUTH=$(if $(filter userdebug eng,$(TARGET_BUILD_VARIANT)),1,0)
+LOCAL_CFLAGS += -DALLOW_ADBD_NO_AUTH=$(if $(filter userdebug user eng,$(TARGET_BUILD_VARIANT)),1,0)
-ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
+ifneq (,$(filter userdebug user eng,$(TARGET_BUILD_VARIANT)))
LOCAL_CFLAGS += -DALLOW_ADBD_DISABLE_VERITY=1
LOCAL_CFLAGS += -DALLOW_ADBD_ROOT=1
endif
/system/core/adb/daemon/main.cpp修改如下:
static const char* root_seclabel = nullptr;
static bool should_drop_capabilities_bounding_set() {
+ return fal