src/main/java/com/simpligility/maven/plugins/android/AbstractEmulatorMojo.java
private boolean sendEmulatorCommand(
            //final Launcher launcher,
            //final PrintStream logger,
            final int port, final String command )
    {
        Callable<Boolean> task = new Callable<Boolean>()
        {
            public Boolean call() throws IOException
            {
                Socket socket = null;
                BufferedReader in = null;
                PrintWriter out = null;
                try
                {
                    socket = new Socket( "127.0.0.1", port );
                    out = new PrintWriter( socket.getOutputStream(), true );
                    in = new BufferedReader( new InputStreamReader( socket.getInputStream() ) );
                    if ( in.readLine() == null )
                    {
                        return false;
                    }

                    out.write( command );
                    out.write( "\r\n" );
                }
                finally
                {
                    try
                    {
                        out.close();
                        in.close();
                        socket.close();
                    }
                    catch ( Exception e )
                    {
                        // Do nothing
                    }
                }

                return true;
            }

            private static final long serialVersionUID = 1L;
        };

        boolean result = false;
        try
        {
            ExecutorService executor = Executors.newSingleThreadExecutor();
            Future<Boolean> future = executor.submit( task );
            result = future.get();
        }
        catch ( Exception e )
        {
            getLog().error( String.format( "Failed to execute emulator command '%s': %s", command, e ) );
        }

        return result;
    }
private boolean sendEmulatorCommand(
            //final Launcher launcher,
            //final PrintStream logger,
            final int port, final String command )
    {
        Callable<Boolean> task = new Callable<Boolean>()
        {
            public Boolean call() throws IOException
            {
                Socket socket = null;
                BufferedReader in = null;
                PrintWriter out = null;
                try
                {
                    socket = new Socket( "127.0.0.1", port );
                    out = new PrintWriter( socket.getOutputStream(), true );
                    in = new BufferedReader( new InputStreamReader( socket.getInputStream() ) );
                    if ( in.readLine() == null )
                    {
                        return false;
                    }

                    out.write( command );
                    out.write( "\r\n" );
                }
                finally
                {
                    try
                    {
                        out.close();
                        in.close();
                        socket.close();
                    }
                    catch ( Exception e )
                    {
                        // Do nothing
                    }
                }

                return true;
            }

            private static final long serialVersionUID = 1L;
        };

        boolean result = false;
        try
        {
            ExecutorService executor = Executors.newSingleThreadExecutor();
            Future<Boolean> future = executor.submit( task );
            result = future.get();
        }
        catch ( Exception e )
        {
            getLog().error( String.format( "Failed to execute emulator command '%s': %s", command, e ) );
        }

        return result;
    }
private boolean sendEmulatorCommand ( //final Launcher launcher, //final PrintStream logger, final int port , final String command ) { Callable < Boolean > task = new Callable < Boolean > ( ) { public Boolean call ( ) throws IOException { Socket socket = null ; BufferedReader in = null ; PrintWriter out = null ; try { socket = new Socket ( "127.0.0.1" , port ) ; out = new PrintWriter ( socket . getOutputStream ( ) , true ) ; in = new BufferedReader ( new InputStreamReader ( socket . getInputStream ( ) ) ) ; if ( in . readLine ( ) == null ) { return false ; } out . write ( command ) ; out . write ( "\r\n" ) ; } finally { try { out . close ( ) ; in . close ( ) ; socket . close ( ) ; } catch ( Exception e ) { // Do nothing } } return true ; } private static final long serialVersionUID = 1L ; } ; boolean result = false ; try { ExecutorService executor = Executors . newSingleThreadExecutor ( ) ; Future < Boolean > future = executor . submit ( task ) ; result = future . get ( ) ; } catch ( Exception e ) { getLog ( ) . error ( String . format ( "Failed to execute emulator command '%s': %s" , command , e ) ) ; } return result ; }
Sends a user command to the running emulator via its telnet interface.

@param port    The emulator's telnet port.
@param command The command to execute on the emulator's telnet interface.
@return Whether sending the command succeeded.
Sends a user command to the running emulator via its telnet interface .