コード例 #1
0
ファイル: Program.cs プロジェクト: ngzero/madb
        static void Main( string[] arguments )
        {
            var args = new Arguments ( arguments );
            AndroidDebugBridge bridge = AndroidDebugBridge.CreateBridge(Path.Combine ( Environment.GetEnvironmentVariable ( "ANDROID_SDK" ), "platform-tools\\adb.exe" ),true);
            foreach ( var item in Enum.GetNames ( typeof ( Actions ) ) ) {
                var actionName = item.Replace ( '_', '-' ).ToLower().Trim();
                if ( args.ContainsKey ( actionName ) ) {
                    Actions action = (Actions)Enum.Parse ( typeof ( Actions ), item, true );
                    switch ( action ) {
                        case Actions.Devices:
                            GetDevices ( );
                            break;
                        case Actions.Monitor:
                            bridge.DeviceChanged += delegate ( object sender, DeviceEventArgs e ) {
                                System.Console.WriteLine ( "Changed: {0}\t{1}", e.Device.SerialNumber, e.Device.State );
                            };
                            bridge.DeviceConnected += delegate ( object sender, DeviceEventArgs e ) {
                                System.Console.WriteLine ( "{0}\t{1}", e.Device.SerialNumber, e.Device.State );
                            };
                            bridge.DeviceDisconnected += delegate ( object sender, DeviceEventArgs e ) {
                                System.Console.WriteLine ( "{0}\t{1}", e.Device.SerialNumber, e.Device.State );
                            };
                            System.Console.ReadLine ( );
                            break;
                        case Actions.Start_Server:
                            StartServer ( );
                            break;
                        case Actions.Kill_Server:
                            break;
                        default:
                            break;
                    }
                    try {
                        AndroidDebugBridge.DisconnectBridge ( );
                        bridge.Stop ( );
                    } catch ( IOException e ) {
                        System.Console.WriteLine ( e.ToString ( ) );
                        // ignore
                    }

                    return;
                }
            }

            PrintUsage ( );
        }