在之前的几篇adb文章中,我们清楚了adb root和adb key授权的流程。这篇文章我们我们主要分析下android8.0 上如何在user版本上adb root以及不用adb key的授权。
首先我们在adbd_main函数中将auth_required置为false,这个变量的用处我们在这篇博客中详细分析过了https://blog.csdn.net/kc58236582/article/details/53502177。这样我们在user版本就不用通过界面上的授权了,可以直接和pc的adb client通信。
int adbd_main(int server_port) {
umask(0);
signal(SIGPIPE, SIG_IGN);
init_transport_registration();
// We need to call this even if auth isn't enabled because the file
// descriptor will always be open.
adbd_cloexec_auth_socket();
// Respect ro.adb.secure in userdebug/eng builds (ALLOW_ADBD_NO_AUTH), or when the
// device is unlocked.
if ((ALLOW_ADBD_NO_AUTH || is_device_unlocked()) &&
!android::base::GetBoolProperty("ro.adb.secure", false)) {
auth_required = false;
}
auth_required = false;