diff --git a/qemu-sockets.c b/qemu-sockets.c
index c526324..c4c0f65 100644
--- a/qemu-sockets.c
+++ b/qemu-sockets.c
@@ -52,6 +52,11 @@
         },{
             .name = "ipv6",
             .type = QEMU_OPT_BOOL,
+#ifdef CONFIG_ANDROID
+        },{
+            .name = "socket",
+            .type = QEMU_OPT_NUMBER,
+#endif
         },
         { /* end if list */ }
     },
@@ -130,6 +135,13 @@
     ai.ai_family = PF_UNSPEC;
     ai.ai_socktype = SOCK_STREAM;
 
+#ifdef CONFIG_ANDROID
+    const char* socket_fd = qemu_opt_get(opts, "socket");
+    if (socket_fd) {
+        return atoi(socket_fd);
+    }
+#endif
+
     if ((qemu_opt_get(opts, "host") == NULL) ||
         (qemu_opt_get(opts, "port") == NULL)) {
         fprintf(stderr, "%s: host and/or port not specified\n", __FUNCTION__);
@@ -226,6 +238,13 @@
     char uport[33];
     int sock,rc;
 
+#ifdef CONFIG_ANDROID
+    const char* socket_fd = qemu_opt_get(opts, "socket");
+    if (socket_fd) {
+        return atoi(socket_fd);
+    }
+#endif
+
     memset(&ai,0, sizeof(ai));
     ai.ai_flags = AI_CANONNAME | AI_ADDRCONFIG;
     ai.ai_family = PF_UNSPEC;
@@ -454,6 +473,25 @@
         qemu_opt_set(opts, "ipv4", "on");
     if (strstr(optstr, ",ipv6"))
         qemu_opt_set(opts, "ipv6", "on");
+#ifdef CONFIG_ANDROID
+    h = strstr(optstr, ",socket=");
+    if (h) {
+        int socket_fd;
+        char str_fd[12];
+        if (1 != sscanf(h+7,"%d",&socket_fd)) {
+            fprintf(stderr,"%s: socket fd parse error (%s)\n",
+                    __FUNCTION__, h+7);
+            return -1;
+        }
+        if (socket_fd < 0 || socket_fd >= INT_MAX) {
+            fprintf(stderr,"%s: socket fd range error (%d)\n",
+                    __FUNCTION__, socket_fd);
+            return -1;
+        }
+        snprintf(str_fd, sizeof str_fd, "%d", socket_fd);
+        qemu_opt_set(opts, "socket", str_fd);
+    }
+#endif
     return 0;
 }
 
