Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/electricbubble/gadb
ADB Client in pure Golang.
https://github.com/electricbubble/gadb
adb adb-client golang
Last synced: 4 days ago
JSON representation
ADB Client in pure Golang.
- Host: GitHub
- URL: https://github.com/electricbubble/gadb
- Owner: electricbubble
- License: mit
- Created: 2020-08-27T09:44:15.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-07-13T04:24:56.000Z (6 months ago)
- Last Synced: 2024-12-14T21:07:29.030Z (11 days ago)
- Topics: adb, adb-client, golang
- Language: Go
- Homepage:
- Size: 18.6 KB
- Stars: 98
- Watchers: 2
- Forks: 40
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gadb
ADB Client in pure Golang.## Installation
```shell script
go get github.com/electricbubble/gadb
```## Example
```go
package mainimport (
"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](https://www.jetbrains.com/?from=gwda) for providing free open source licenses
---
Similar projects:
Repository|Description
---|---
[zach-klippenstein/goadb](https://github.com/zach-klippenstein/goadb)|A Golang library for interacting with adb.
[vidstige/jadb](https://github.com/vidstige/jadb)|ADB Client in pure Java.
[Swind/pure-python-adb](https://github.com/Swind/pure-python-adb)|This is pure-python implementation of the ADB client.
[codeskyblue/fa](https://github.com/codeskyblue/fa)|FA(fast adb) helps you win at ADB(Android Debug Bridge).
[mobile-dev-inc/dadb](https://github.com/mobile-dev-inc/dadb)|Connect directly to `adbd` without ADB binary or ADB server (Kotlin)