Revert "Reimplement the "adb root" command to more closely match its previous behavior"
This reverts commit 535164e9d9649a83d4d63829f3389f2bea339fe1.
diff --git a/adb/services.c b/adb/services.c
index 6940be8..6bbd6f8 100644
--- a/adb/services.c
+++ b/adb/services.c
@@ -125,12 +125,14 @@
return;
}
+ property_set("service.adb.root", "1");
snprintf(buf, sizeof(buf), "restarting adbd as root\n");
writex(fd, buf, strlen(buf));
adb_close(fd);
- // This will cause a property trigger in init.rc to restart us
- property_set("service.adb.root", "1");
+ // quit, and init will restart us as root
+ sleep(1);
+ exit(1);
}
}
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 438ac83..7775cdc 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -376,18 +376,6 @@
on property:ro.kernel.qemu=1
start adbd
-# This property trigger has added to imitiate the previous behavior of "adb root".
-# The adb gadget driver used to reset the USB bus when the adbd daemon exited,
-# and the host side adb relied on this behavior to force it to reconnect with the
-# new adbd instance after init relaunches it. So now we force the USB bus to reset
-# here when adbd sets the service.adb.root property to 1. We also restart adbd here
-# rather than waiting for init to notice its death and restarting it so the timing
-# of USB resetting and adb restarting more closely matches the previous behavior.
-on property:service.adb.root=1
- write /sys/class/android_usb/android0/enable 0
- restart adbd
- write /sys/class/android_usb/android0/enable 1
-
service servicemanager /system/bin/servicemanager
class core
user system