/// <summary> /// 主方法 /// </summary> /// <param name="toolKit"></param> /// <returns></returns> protected override Output MainMethod(ToolKit <ShScriptExecuterArgs> toolKit) { _tooKit = toolKit; var ob = new AdvanceOutputBuilder(); if (AppPackageName != null && AppActivity != null) { Logger.Info(this, Activity.Start(toolKit.Args.Serial, AppPackageName, AppActivity)); Thread.Sleep(Delay); } int retCode = 0; using (AndroidShell shell = new AndroidShell(toolKit.Args.DevBasicInfo.Serial)) { shell.Connect(); ob.Register(shell); retCode = shell.SafetyInput($"sh {ScriptPath}").GetExitCode(); } ob.ExitCode = retCode; _result = ob.Result; return(_result); }
/// <summary> /// 主方法 /// </summary> /// <param name="toolKit"></param> /// <returns></returns> protected override Output MainMethod(ToolKit <FlowArgs> toolKit) { AndroidShellV2 shell = new AndroidShellV2(toolKit.Args.DevBasicInfo.Serial); AdvanceOutputBuilder builder = new AdvanceOutputBuilder(); Version crtVersion = new DeviceBuildPropGetter(toolKit.Args.DevBasicInfo.Serial).GetAndroidVersion(); builder.Register(shell); allSuccessful = shell.Execute("pm grant com.oasisfeng.greenify android.permission.WRITE_SECURE_SETTINGS").IsSuccessful; allSuccessful = shell.Execute("pm grant com.oasisfeng.greenify android.permission.DUMP").IsSuccessful; allSuccessful = shell.Execute("pm grant com.oasisfeng.greenify android.permission.READ_LOGS").IsSuccessful; if (crtVersion?.Major >= 8) { allSuccessful = shell.Execute("pm grant com.oasisfeng.greenify android.permission.READ_APP_OPS_STATS").IsSuccessful; } allSuccessful = shell.Execute("am force-stop com.oasisfeng.greenify").IsSuccessful; return(builder.Result); }