Skip to content

Commit

Permalink
添加adb kill-server;
Browse files Browse the repository at this point in the history
添加导出文件的支持;
  • Loading branch information
IoTServ committed Feb 11, 2021
1 parent 4766fdc commit fe405d1
Show file tree
Hide file tree
Showing 11 changed files with 214 additions and 3 deletions.
6 changes: 6 additions & 0 deletions .idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 11 additions & 3 deletions config/models.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,14 @@ func (ao *AndroidAdbDeviceWithOpenIoTHub) StartAPIServer() {
out, err := ao.RunAdbCommand([]string{"push", tmpfilepath, r1apkfile})
log.Println(out)

defer ao.RunAdbCommand([]string{"rm", r1apkfile})
defer func() {
out, err := ao.RunAdbCommand([]string{"rm", r1apkfile})
if err != nil {
log.Println(err)
return
}
log.Println(out)
}()

rst, err := ao.RunCommand("/system/bin/pm", "install", "-t", r1apkfile)
if err != nil {
Expand Down Expand Up @@ -201,8 +208,9 @@ func (ao *AndroidAdbDeviceWithOpenIoTHub) StartAPIServer() {
log.Println(err)
return
}
// 查看所有软件包
// 卸载指定软件包
// 安装DLAN

// 安装ROOT
}

func (ao *AndroidAdbDeviceWithOpenIoTHub) RegMdns() {
Expand Down
1 change: 1 addition & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14=
github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M=
github.com/go-bindata/go-bindata v3.1.2+incompatible h1:5vjJMVhowQdPzjE1LdxyFF7YFTXg5IgGVW4gBr5IbvE=
github.com/go-bindata/go-bindata v3.1.2+incompatible/go.mod h1:xK8Dsgwmeed+BBsSy2XTopBn/8uK2HWuGSnA11C3Joo=
github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A=
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
Expand Down
Binary file added scripts/bindata/host/adb/AdbWinApi.dll
Binary file not shown.
Binary file added scripts/bindata/host/adb/AdbWinUsbApi.dll
Binary file not shown.
Binary file added scripts/bindata/mobile/DLNA/dlna.apk
Binary file not shown.
76 changes: 76 additions & 0 deletions scripts/bindata/mobile/DLNA/一键常开蓝牙DLNA.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
@echo off
title 一键禁用斐讯全家桶常开蓝牙 by 小叶同学
color 0a
echo.


echo 一键禁用斐讯全家桶常开蓝牙+DLNA
echo.
echo.
echo. by:小叶同学
echo.
echo. !!!使用前请先配对一次蓝牙!!!
echo.
echo.
echo 没有氛围灯、没有氛围灯、没有氛围灯
echo.
echo. 只适合不想折腾只想当蓝牙音响的
echo.
echo 如果后续需要恢复小讯,请恢复出厂设置
echo.
echo ---------------------
set /p ip=请输入音箱IP:

adb kill-server
adb start-server

echo 开始通过ADB连接

adb connect %ip%


adb shell /system/bin/pm uninstall --user 0 com.phicomm.speaker.airskill
adb shell /system/bin/pm uninstall --user 0 com.phicomm.speaker.player
adb shell /system/bin/pm uninstall --user 0 com.phicomm.speaker.exceptionreporter
adb shell /system/bin/pm uninstall --user 0 com.phicomm.speaker.ijetty
adb shell /system/bin/pm uninstall --user 0 com.android.keychain
adb shell /system/bin/pm uninstall --user 0 com.phicomm.speaker.netctl
adb shell /system/bin/pm uninstall --user 0 com.phicomm.speaker.otaservice
adb shell /system/bin/pm uninstall --user 0 com.phicomm.speaker.systemtool
adb shell /system/bin/pm uninstall --user 0 com.phicomm.speaker.device
adb shell /system/bin/pm uninstall --user 0 com.android.providers.downloads
adb shell /system/bin/pm uninstall --user 0 com.android.location.fused
adb shell /system/bin/pm uninstall --user 0 com.android.inputdevices
adb shell /system/bin/pm uninstall --user 0 com.android.server.telecom
adb shell /system/bin/pm uninstall --user 0 com.android.providers.telephony
adb shell /system/bin/pm uninstall --user 0 com.android.vpndialogs
adb shell /system/bin/pm uninstall --user 0 com.phicomm.speaker.productiontest
adb shell /system/bin/pm uninstall --user 0 com.phicomm.speaker.bugreport
adb shell /system/bin/pm uninstall com.droidlogic.mediacenter

adb shell settings put secure install_non_market_apps 1

adb push dlna.apk /mnt/internal_sd/

echo 安装DLNA

adb shell /system/bin/pm install -r /mnt/internal_sd/dlna.apk

adb shell rm /mnt/internal_sd/dlna.apk

adb shell am start -n com.droidlogic.mediacenter/.MediaCenterActivity

adb shell input tap 100 150
adb shell input tap 100 150
adb shell input tap 500 100
adb shell input tap 500 150

adb shell input tap 100 200
adb shell input tap 500 100
adb shell input tap 500 150
adb reboot

:end

echo 按任意键退出...
pause > nul
Binary file not shown.
28 changes: 28 additions & 0 deletions services/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import (
adb "github.com/mDNSService/goadb"
"github.com/urfave/cli/v2"
"log"
"os/exec"
"path/filepath"
"strconv"
"strings"
"time"
Expand All @@ -14,6 +16,11 @@ import (
var AndroidAdbDeviceWithOpenIoTHubMap = make(map[string]*config.AndroidAdbDeviceWithOpenIoTHub)

func Run(c *cli.Context) (err error) {
out, err := RunAdbCommand([]string{"kill-server"})
log.Println(out)
if err != nil {
log.Println(err)
}
//启动adb服务
adbClient, err := adb.NewWithConfig(*config.ConfigModelVar.ADBConfig)
if err != nil {
Expand Down Expand Up @@ -65,3 +72,24 @@ func Run(c *cli.Context) (err error) {
config.WG.Wait()
return
}

func RunAdbCommand(args []string) (string, error) {
var name = "adb"
if config.ConfigModelVar.ADBConfig.PathToAdb != "" {
name = config.ConfigModelVar.ADBConfig.PathToAdb
}

cmdOut := &exec.Cmd{
Path: name,
Args: append([]string{name}, args...),
}
if filepath.Base(name) == name {
if lp, err := exec.LookPath(name); err != nil {
return "", err
} else {
cmdOut.Path = lp
}
}
outbytes, err := cmdOut.Output()
return string(outbytes), err
}
62 changes: 62 additions & 0 deletions utils/exportfiles.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package utils

import (
"io/ioutil"
"path/filepath"
)

func ExportFiles(frompath, topath string) (err error) {
data, err := Asset(frompath)
if err != nil {
return
}
return ioutil.WriteFile(topath, data, 0777)
}

// scripts/bindata/host/adb/AdbWinApi.dll
// scripts/bindata/host/adb/AdbWinUsbApi.dll
// scripts/bindata/host/adb/adb.exe
func ExportAdb(topath string) (err error) {
filename := "adb.exe"
frompath := "scripts/bindata/host/adb/"
err = ExportFiles(filepath.Join(frompath, filename), filepath.Join(topath, filename))
if err != nil {
return
}
filename = "AdbWinApi.dll"
err = ExportFiles(filepath.Join(frompath, filename), filepath.Join(topath, filename))
if err != nil {
return
}
filename = "AdbWinUsbApi.dll"
err = ExportFiles(filepath.Join(frompath, filename), filepath.Join(topath, filename))
if err != nil {
return
}
return
}

// scripts/bindata/mobile/DLNA/dlna.apk
// scripts/bindata/mobile/DLNA/一键常开蓝牙DLNA.bat
func ExportDLNA(topath string) (err error) {
filename := "dlna.apk"
frompath := "scripts/bindata/mobile/DLNA/"
err = ExportFiles(filepath.Join(frompath, filename), filepath.Join(topath, filename))
if err != nil {
return
}
return
}

// scripts/bindata/mobile/ROOT/TheSELinuxSwitch7.0.0.apk
func ExportSELinuxSwitch(topath string) (err error) {
filename := "TheSELinuxSwitch7.0.0.apk"
frompath := "scripts/bindata/mobile/ROOT/"
err = ExportFiles(filepath.Join(frompath, filename), filepath.Join(topath, filename))
if err != nil {
return
}
return
}

// scripts/bindata/scrcpy/scrcpy-server
30 changes: 30 additions & 0 deletions utils/exportfiles_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package utils

import (
"log"
"testing"
)

func TestExportAdb(t *testing.T) {
err := ExportAdb("./")
if err != nil {
log.Println(err)
return
}
}

func TestExportDLNA(t *testing.T) {
err := ExportDLNA("./")
if err != nil {
log.Println(err)
return
}
}

func TestExportSELinuxSwitch(t *testing.T) {
err := ExportSELinuxSwitch("./")
if err != nil {
log.Println(err)
return
}
}

0 comments on commit fe405d1

Please sign in to comment.