/// <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); }
/// <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)); }
/// <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); }
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)); }
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(); } } }
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)); }
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(); }
/// <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(); } }