修改注释及代码重构
This commit is contained in:
5
services/doc.go
Normal file
5
services/doc.go
Normal file
@@ -0,0 +1,5 @@
|
||||
// Package services 提供了 UIAutomator2 服务的安装和部署功能。
|
||||
//
|
||||
// 本包负责将 UIAutomator2 相关的资源文件(u2.jar、APK)
|
||||
// 推送到 Android 设备并完成安装。
|
||||
package services
|
||||
@@ -2,45 +2,63 @@ package services
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go-mobile-uiautomator/adb"
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"github.com/zhuy1228/go-mobile-uiautomator/adb"
|
||||
)
|
||||
|
||||
// InstallServiceJar 将 u2.jar 推送到设备的 /data/local/tmp/ 目录
|
||||
// addr 为 ADB 服务器地址,serial 为设备序列号
|
||||
func InstallServiceJar(addr, serial string) {
|
||||
conn, err := adb.DialADB(addr, 15*time.Second)
|
||||
if err != nil {
|
||||
fmt.Println("dial error:", err)
|
||||
fmt.Println("连接失败:", err)
|
||||
return
|
||||
}
|
||||
defer conn.Close()
|
||||
adb.TransportTo(conn, serial)
|
||||
target_path := "/data/local/tmp/u2.jar"
|
||||
|
||||
if err := adb.TransportTo(conn, serial); err != nil {
|
||||
fmt.Println("设备路由失败:", err)
|
||||
return
|
||||
}
|
||||
|
||||
targetPath := "/data/local/tmp/u2.jar"
|
||||
sync := adb.InitSync(conn)
|
||||
n, err := sync.SyncPushFile("./assets/u2.jar", target_path, 0644, true)
|
||||
n, err := sync.SyncPushFile("./assets/u2.jar", targetPath, 0644, true)
|
||||
if err != nil {
|
||||
fmt.Println("Push 失败:", err)
|
||||
fmt.Println("推送失败:", err)
|
||||
} else {
|
||||
fmt.Printf("Push 成功, 共写入 %d 字节\n", n)
|
||||
fmt.Printf("推送成功, 共写入 %d 字节\n", n)
|
||||
}
|
||||
}
|
||||
|
||||
// InstallServiceApk 将 UIAutomator2 APK 推送到设备并安装
|
||||
// addr 为 ADB 服务器地址,serial 为设备序列号
|
||||
func InstallServiceApk(addr, serial string) {
|
||||
conn, err := adb.DialADB(addr, 15*time.Second)
|
||||
if err != nil {
|
||||
fmt.Println("dial error:", err)
|
||||
fmt.Println("连接失败:", err)
|
||||
return
|
||||
}
|
||||
adb.TransportTo(conn, serial)
|
||||
target_path := "/data/local/tmp/app-uiautomator.apk"
|
||||
|
||||
if err := adb.TransportTo(conn, serial); err != nil {
|
||||
fmt.Println("设备路由失败:", err)
|
||||
conn.Close()
|
||||
return
|
||||
}
|
||||
|
||||
targetPath := "/data/local/tmp/app-uiautomator.apk"
|
||||
sync := adb.InitSync(conn)
|
||||
abs, _ := filepath.Abs("./assets/app-uiautomator.apk")
|
||||
n, err := sync.SyncPushFile(abs, target_path, 0644, true)
|
||||
n, err := sync.SyncPushFile(abs, targetPath, 0644, true)
|
||||
if err != nil {
|
||||
fmt.Println("Push 失败:", err)
|
||||
fmt.Println("推送失败:", err)
|
||||
} else {
|
||||
fmt.Printf("Push 成功, 共写入 %d 字节\n", n)
|
||||
fmt.Printf("推送成功, 共写入 %d 字节\n", n)
|
||||
}
|
||||
conn.Close()
|
||||
adb.InstallApkOnDevice(addr, serial, target_path, "-r", true)
|
||||
|
||||
// 在设备上安装 APK(覆盖安装)
|
||||
adb.InstallApkOnDevice(addr, serial, targetPath, "-r", true)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user