impls.go 982 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package adb
  2. import (
  3. "os"
  4. "os/exec"
  5. )
  6. //ExecuteArgs executes adb commands
  7. func (adb Adb) ExecuteArgs(args []string) ([]byte, error) {
  8. cmd := append([]string{"-s", adb.device.Serial}, args...)
  9. return exec.Command(adb.binPath, cmd...).CombinedOutput()
  10. }
  11. //ExecWithVarArgs executes adb commands
  12. func (adb Adb) ExecWithVarArgs(args ...string) ([]byte, error) {
  13. return adb.ExecuteArgs(args)
  14. }
  15. //StartProcessArgs runs adb commands async
  16. func (adb Adb) StartProcessArgs(args []string) (*exec.Cmd, error) {
  17. return adb.StartProcessVarArgs(args...)
  18. }
  19. //StartProcessVarArgs runs adb commands async
  20. func (adb Adb) StartProcessVarArgs(args ...string) (*exec.Cmd, error) {
  21. cmd := exec.Command(adb.binPath, append([]string{"-s", adb.device.Serial}, args...)...)
  22. return cmd, cmd.Start()
  23. }
  24. //StopProcess stops async adb commands
  25. func (adb Adb) StopProcess(cmd *exec.Cmd) error {
  26. err := cmd.Process.Signal(os.Interrupt)
  27. if err != nil {
  28. return err
  29. }
  30. return cmd.Process.Release()
  31. }