/// <summary>
 /// 执行adb shell命令
 /// </summary>
 /// <param name="device"></param>
 /// <param name="args"></param>
 /// <returns></returns>
 public virtual Result AdbShell(IDevice device, params string[] args)
 {
     IAdbServer adbServer = ManagedAdb.Adb.Server;
     FileInfo exe = ManagedAdb.Adb.FastbootFile;
     string joined = string.Join(" ", args);
     return Adb(device, $"shell {joined}");
 }
 /// <summary>
 /// 执行非针对设备的fastboot命令
 /// </summary>
 /// <param name="args"></param>
 /// <returns></returns>
 public virtual Result Fastboot(params string[] args)
 {
     IAdbServer adbServer = ManagedAdb.Adb.Server;
     FileInfo exe = ManagedAdb.Adb.FastbootFile;
     string joined = string.Join(" ", args);
     string compCommand = $"{joined}";
     return Execute(exe.FullName, compCommand);
 }
Exemple #3
0
        /// <summary>
        /// 执行fastboot命令
        /// </summary>
        /// <param name="device"></param>
        /// <param name="args"></param>
        /// <returns></returns>
        public virtual Result Fastboot(IDevice device, params string[] args)
        {
            IAdbServer adbServer   = ManagedAdb.Adb.Server;
            FileInfo   exe         = ManagedAdb.Adb.FastbootFile;
            string     joined      = string.Join(" ", args);
            string     compCommand = $"-s {device.SerialNumber} {joined}";

            return(Execute(exe.FullName, compCommand));
        }
        /// <summary>
        /// 执行非针对设备的adb命令
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public virtual Result Adb(params string[] args)
        {
            IAdbServer adbServer   = AutumnBox.Basic.ManagedAdb.Adb.Server;
            FileInfo   exe         = AutumnBox.Basic.ManagedAdb.Adb.AdbFile;
            string     joined      = string.Join(" ", args);
            string     compCommand = $"-P{adbServer.Port} {joined}";

            return(Execute(exe.FullName, compCommand));
        }
Exemple #5
0
 /// <summary>
 /// 加载
 /// </summary>
 /// <param name="adbToolsDir"></param>
 /// <param name="adb"></param>
 /// <param name="fastboot"></param>
 /// <param name="server"></param>
 /// <param name="startTheServer"></param>
 public static void Load(DirectoryInfo adbToolsDir, FileInfo adb, FileInfo fastboot, IAdbServer server, bool startTheServer)
 {
     AdbToolsDir  = adbToolsDir;
     AdbFile      = adb;
     FastbootFile = fastboot;
     Server       = server;
     if (startTheServer)
     {
         Server.Start();
     }
 }
 /// <summary>
 /// 执行非针对设备的adb命令
 /// </summary>
 /// <param name="args"></param>
 /// <returns></returns>
 public virtual Result Adb(params string[] args)
 {
     if (!ManagedAdb.Adb.Server.IsEnable)
     {
         throw new InvalidOperationException("adb server is killed");
     }
     IAdbServer adbServer = ManagedAdb.Adb.Server;
     FileInfo exe = ManagedAdb.Adb.AdbFile;
     string joined = string.Join(" ", args);
     return Execute(exe.FullName, joined);
 }
 /// <summary>
 /// 执行针对设备的adb命令
 /// </summary>
 /// <param name="device"></param>
 /// <param name="args"></param>
 /// <returns></returns>
 public virtual Result Adb(IDevice device, params string[] args)
 {
     if (!ManagedAdb.Adb.Server.IsEnable)
     {
         throw new InvalidOperationException("adb server is killed");
     }
     IAdbServer adbServer = ManagedAdb.Adb.Server;
     FileInfo exe = ManagedAdb.Adb.AdbFile;
     string joined = string.Join(" ", args);
     string compCommand = $"-s {device.SerialNumber} {joined}";
     return Execute(exe.FullName, compCommand);
 }
Exemple #8
0
 public AdbService(
     IFileSystem fileSystem,
     IAdbServer adbServer,
     IAdbClient adbClient,
     ISyncServiceFactory syncServiceFactory,
     IEnvironmentService environmentService)
 {
     _fileSystem         = fileSystem;
     _adbServer          = adbServer;
     _adbClient          = adbClient;
     _syncServiceFactory = syncServiceFactory;
     _environmentService = environmentService;
 }
        /// <summary>
        /// 执行非针对设备的fastboot命令
        /// </summary>
        /// <param name="executor"></param>
        /// <param name="args"></param>
        /// <returns></returns>
        public static ICommandResult Fastboot(this ICommandExecutor executor, params string[] args)
        {
            if (executor == null)
            {
                throw new ArgumentNullException(nameof(executor));
            }

            IAdbServer adbServer   = ManagedAdb.Adb.Server;
            FileInfo   exe         = ManagedAdb.Adb.FastbootFile;
            string     joined      = string.Join(" ", args);
            string     compCommand = $"{joined}";

            return(executor.Execute(exe.FullName, compCommand));
        }
Exemple #10
0
        public static void Load(DirectoryInfo adbToolsDir, FileInfo adbClient, FileInfo fastbootClient, IAdbServer server, bool startTheServer)
        {
            var manager = new DefaultAdbManager()
            {
                AdbFile = adbClient ?? throw new ArgumentNullException(nameof(adbClient)),
                                FastbootFile = fastbootClient ?? throw new ArgumentNullException(nameof(fastbootClient)),
                                                     Server = server ?? throw new ArgumentNullException(nameof(server)),
                                                                    ToolsDir = adbToolsDir ?? throw new ArgumentNullException(nameof(adbToolsDir))
            };

            if (startTheServer)
            {
                Server.Start();
            }
        }
    }
Exemple #11
0
        public AdbServiceTests()
        {
            _fileSystemMock = new MockFileSystem();
            _adbServer      = Substitute.For <IAdbServer>();

            var adbClient          = Substitute.For <IAdbClient>();
            var syncServiceFactory = Substitute.For <ISyncServiceFactory>();

            _environmentServiceMock = Substitute.For <IEnvironmentService>();

            _adbService = new AdbService(
                _fileSystemMock,
                _adbServer,
                adbClient,
                syncServiceFactory,
                _environmentServiceMock);
        }
        /// <summary>
        /// 执行非针对设备的adb命令
        /// </summary>
        /// <param name="executor"></param>
        /// <param name="args"></param>
        /// <returns></returns>
        public static ICommandResult Adb(this ICommandExecutor executor, params string[] args)
        {
            if (executor == null)
            {
                throw new ArgumentNullException(nameof(executor));
            }

            if (!ManagedAdb.Adb.Server.IsEnable)
            {
                throw new InvalidOperationException("adb server is killed");
            }
            IAdbServer adbServer = ManagedAdb.Adb.Server;
            FileInfo   exe       = ManagedAdb.Adb.AdbFile;
            string     joined    = string.Join(" ", args);

            return(executor.Execute(exe.FullName, joined));
        }
Exemple #13
0
        private void Load()
        {
            LoggingStation.Instance.Work();
            ui.Progress = 0;
            //如果设置在启动时打开调试窗口
            if (Settings.Default.ShowDebuggingWindowNextLaunch)
            {
                //打开调试窗口
                App.Current.Dispatcher.Invoke(() =>
                {
                    new LogWindow().Show();
                });
            }
            logger.Info("");
            logger.Info("======================");
            logger.Info($"Run as " + (Self.HaveAdminPermission ? "Admin" : "Normal user"));
            logger.Info($"AutumnBox version: {Self.Version}");
            logger.Info($"SDK version: {BuildInfo.SDK_VERSION}");
            logger.Info($"Windows version {Environment.OSVersion.Version}");
            logger.Info("======================");
            Basic.Util.Debugging.LoggingStation.Logging += (s, e) =>
            {
#if !DEBUG
                if (e.Tag.ToLower() == "debug")
                {
                    return;
                }
#endif
                LoggingStation.Instance.Log(e.Tag, e.Level.ToString(), e.Text);
            };
            ui.Progress   = 30;
            ui.LoadingTip = App.Current.Resources["ldmsgStartAdb"].ToString();
            try
            {
                logger.Info("trying starts adb server ");
                DirectoryInfo adbRootDir  = new DirectoryInfo("Resources/AdbExecutable/");
                FileInfo      adbExe      = new FileInfo("Resources/AdbExecutable/adb.exe");
                FileInfo      fastbootExe = new FileInfo("Resources/AdbExecutable/fastboot.exe");
                IAdbServer    server      = LocalAdbServer.Instance;
                logger.Info($"lanunching adb server at {server.IP}:{server.Port}");
                Adb.Load(adbRootDir, adbExe, fastbootExe, server, true);
            }
            catch (Exception e)
            {
                LocalAdbServer.Instance.InvalidKill = true;
                logger.Warn("can not start adb server!", e);
                App.Current.Dispatcher.Invoke(() =>
                {
                    new AdbFailedWindow(e.Message)
                    {
                        Owner = App.Current.MainWindow
                    }.ShowDialog();
                });
            }

            ui.Progress   = 60;
            ui.LoadingTip = App.Current.Resources["ldmsgLoadingExtensions"].ToString();
            OpenFrameworkManager.Init();
            OpenFxObserver.Instance.OnLoaded();
            ConnectedDevicesListener.Instance.Work();

            ui.Progress   = 90;
            ui.LoadingTip = "How can a man die better?";
            Updater.CheckAndNotice();
            Statistics.Do();
            ToastMotd.Do();

            ui.Progress   = 100;
            ui.LoadingTip = "Enjoy!";
            Thread.Sleep(1 * 1000);
            ui.Finish();
        }
Exemple #14
0
 /// <summary>
 /// 加载
 /// </summary>
 /// <param name="adbToolsDir"></param>
 /// <param name="adbClient"></param>
 /// <param name="fastbootClient"></param>
 /// <param name="server"></param>
 /// <param name="startTheServer"></param>
 public static void Load(DirectoryInfo adbToolsDir, FileInfo adbClient, FileInfo fastbootClient, IAdbServer server, bool startTheServer)
 {
     //throw new AdbCommandFailedException(null,0);
     AdbToolsDir  = adbToolsDir ?? throw new ArgumentNullException(nameof(adbToolsDir));
     AdbFile      = adbClient ?? throw new ArgumentNullException(nameof(adbClient));
     FastbootFile = fastbootClient ?? throw new ArgumentNullException(nameof(fastbootClient));
     Server       = server ?? throw new ArgumentNullException(nameof(server));
     if (startTheServer)
     {
         Server.Start();
     }
 }