The adb sources do this:
property_get("ro.debuggable", value, "");
if (strcmp(value, "1") != 0) {
snprintf(buf, sizeof(buf), "adbd cannot run as root in production builds\n");
In other words, if it doesn't see ro.debuggable
set to 1 it won't let you run adb root
. Check the contents of your /default.prop
.