diff --git a/adb/adb.cpp b/adb/adb.cpp index 180954bef..29c948126 100644 --- a/adb/adb.cpp +++ b/adb/adb.cpp @@ -956,6 +956,13 @@ int handle_host_request(const char* service, TransportType type, return 1; } + if (!strcmp(service, "features")) { + SendOkay(reply_fd); + SendProtocolString( + reply_fd, android::base::Join(supported_features(), '\n')); + return 0; + } + // remove TCP transport if (!strncmp(service, "disconnect:", 11)) { const std::string address(service + 11); diff --git a/adb/commandline.cpp b/adb/commandline.cpp index 1c5b5bd40..c7b7675dd 100644 --- a/adb/commandline.cpp +++ b/adb/commandline.cpp @@ -1460,6 +1460,9 @@ int adb_commandline(int argc, const char **argv) { fprintf(stdout, "%s", adb_version().c_str()); return 0; } + else if (!strcmp(argv[0], "features")) { + return adb_query_command("host:features"); + } usage(); return 1;