Skip to content

qgweb/gadb

This branch is 3 commits behind electricbubble/gadb:master.

Folders and files

NameName
Last commit message
Last commit date
Sep 4, 2020
Aug 27, 2020
Jul 13, 2024
Mar 6, 2024
Sep 2, 2020
Mar 6, 2024
Sep 3, 2020
Sep 2, 2020
Aug 27, 2020
May 23, 2024
May 23, 2024
May 21, 2024
May 23, 2024
Sep 2, 2020

Repository files navigation

gadb

ADB Client in pure Golang.

Installation

go get github.com/electricbubble/gadb

Example

package main

import (
	"github.com/electricbubble/gadb"
	"log"
	"os"
	"strings"
)

func main() {
	adbClient, err := gadb.NewClient()
	checkErr(err, "fail to connect adb server")

	devices, err := adbClient.DeviceList()
	checkErr(err)

	if len(devices) == 0 {
		log.Fatalln("list of devices is empty")
	}

	dev := devices[0]

	userHomeDir, _ := os.UserHomeDir()
	apk, err := os.Open(userHomeDir + "/Desktop/xuexi_android_10002068.apk")
	checkErr(err)

	log.Println("starting to push apk")

	remotePath := "/data/local/tmp/xuexi_android_10002068.apk"
	err = dev.PushFile(apk, remotePath)
	checkErr(err, "adb push")

	log.Println("push completed")

	log.Println("starting to install apk")

	shellOutput, err := dev.RunShellCommand("pm install", remotePath)
	checkErr(err, "pm install")
	if !strings.Contains(shellOutput, "Success") {
		log.Fatalln("fail to install: ", shellOutput)
	}

	log.Println("install completed")

}

func checkErr(err error, msg ...string) {
	if err == nil {
		return
	}

	var output string
	if len(msg) != 0 {
		output = msg[0] + " "
	}
	output += err.Error()
	log.Fatalln(output)
}

Thanks

Thank you JetBrains for providing free open source licenses


Similar projects:

Repository Description
zach-klippenstein/goadb A Golang library for interacting with adb.
vidstige/jadb ADB Client in pure Java.
Swind/pure-python-adb This is pure-python implementation of the ADB client.
codeskyblue/fa FA(fast adb) helps you win at ADB(Android Debug Bridge).
mobile-dev-inc/dadb Connect directly to adbd without ADB binary or ADB server (Kotlin)

About

ADB Client in pure Golang.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%