From 63459fdc40cd7161d301fe3f7f93e61c6a8cd5e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BC=96=E7=A0=81=E7=8C=BF?= Date: Fri, 27 Sep 2024 01:26:21 +0800 Subject: [PATCH] first commit --- .gitignore | 23 ++++++++++++++++++++ .pydio | 1 + ADBKeyboard.apk | Bin 0 -> 15642 bytes README.md | 15 +++++++++++++ config/.pydio | 1 + config/index.js | 27 +++++++++++++++++++++++ index.js | 14 ++++++++++++ shell/.pydio | 1 + shell/comment.sh | 2 ++ test.js | 8 +++++++ utils/.pydio | 1 + utils/index.js | 55 +++++++++++++++++++++++++++++++++++++++++++++++ 12 files changed, 148 insertions(+) create mode 100644 .gitignore create mode 100644 .pydio create mode 100644 ADBKeyboard.apk create mode 100644 README.md create mode 100644 config/.pydio create mode 100644 config/index.js create mode 100644 index.js create mode 100644 shell/.pydio create mode 100755 shell/comment.sh create mode 100644 test.js create mode 100644 utils/.pydio create mode 100644 utils/index.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..403adbc --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules +/dist + + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.pydio b/.pydio new file mode 100644 index 0000000..118d709 --- /dev/null +++ b/.pydio @@ -0,0 +1 @@ +0bf40545-e6e5-4371-b0fe-6e41a7e2fbda \ No newline at end of file diff --git a/ADBKeyboard.apk b/ADBKeyboard.apk new file mode 100644 index 0000000000000000000000000000000000000000..2483dd02fb08bf0f2a5119695f91de0018244988 GIT binary patch literal 15642 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md new file mode 100644 index 0000000..d551264 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +https://github.com/senzhk/ADBKeyBoard + +1:adb shell input tap 985 1213 点击点赞 +2:adb shell input swipe 271 1733 208 516 从底部坐标滑到顶部坐标,滑动切换视频 + +adb shell input tap 149 552 从桌面打开抖音App的坐标 +adb shell input tap 992 1460 点击评论图标,打开评论弹窗 +adb shell input tap 347 2175 点击输入框,获得输入框焦点 + +adb shell input text test(废弃) 在输入框输入文字(不支持中文) + +adb shell am broadcast -a ADB_INPUT_TEXT --es msg '随机评论的中文字' +adb shell input tap 1007 1854 点击发送按钮 + +//package:com.android.adbkeyboard \ No newline at end of file diff --git a/config/.pydio b/config/.pydio new file mode 100644 index 0000000..e33e0be --- /dev/null +++ b/config/.pydio @@ -0,0 +1 @@ +fc3940ae-ad6b-4e14-945c-7d3b195ddf08 \ No newline at end of file diff --git a/config/index.js b/config/index.js new file mode 100644 index 0000000..864fb06 --- /dev/null +++ b/config/index.js @@ -0,0 +1,27 @@ +const config = { + // 基础命令 + baseShell: { + adbkeyboard: 'adb shell pm list packages adbkeyboard', + adb: 'adb version' + }, + // 功能性命令 + shellAction: { + // 点击输入框 + tap: 'adb shell input tap', + // 滑动页面 + swipe: 'adb shell input swipe', + }, + // 坐标集合 + shellCoordinate: { + // 先点赞,然后滑动下一个视频 + Fabulous: { + tap: '988 1229', // 点赞按钮的坐标 + swipe: '868 1811 800 272', // 滑动页面 + } + }, + startShell: (action, coordinate) => { + return `${config.shellAction[action]} ${coordinate}` + } +} + +module.exports = config \ No newline at end of file diff --git a/index.js b/index.js new file mode 100644 index 0000000..86d289d --- /dev/null +++ b/index.js @@ -0,0 +1,14 @@ +const config = require("./config"); +const utils= require("./utils"); + +for (const key in config.shellCoordinate.Fabulous) { + let shell = config.startShell(key, config.shellCoordinate.Fabulous[key]) + console.log(shell) + setInterval(async ()=> { + console.log(await utils.execShell(shell)) + },1500) +} + +// utils.CheckInstallAdb().then(res => { +// console.log(res) +// }) \ No newline at end of file diff --git a/shell/.pydio b/shell/.pydio new file mode 100644 index 0000000..af3bc4c --- /dev/null +++ b/shell/.pydio @@ -0,0 +1 @@ +4f3298b7-6a94-46ec-928b-7ba7afe08f60 \ No newline at end of file diff --git a/shell/comment.sh b/shell/comment.sh new file mode 100755 index 0000000..f4860b6 --- /dev/null +++ b/shell/comment.sh @@ -0,0 +1,2 @@ +#!/bin/bash +echo "你好" \ No newline at end of file diff --git a/test.js b/test.js new file mode 100644 index 0000000..a16612e --- /dev/null +++ b/test.js @@ -0,0 +1,8 @@ +const exec = require('child_process').exec; +exec('pwd', function(err,stdout,stderr) { + if(err) { + console.log('shell is run: '+ stderr); + } else { + console.log(stdout) + } +}); \ No newline at end of file diff --git a/utils/.pydio b/utils/.pydio new file mode 100644 index 0000000..3cfafd7 --- /dev/null +++ b/utils/.pydio @@ -0,0 +1 @@ +358a802d-b623-4739-bde0-48834194aec5 \ No newline at end of file diff --git a/utils/index.js b/utils/index.js new file mode 100644 index 0000000..9bdd541 --- /dev/null +++ b/utils/index.js @@ -0,0 +1,55 @@ +const exec = require('child_process').exec; +const config = require('../config'); + +class Utils{ + + /** + * 运行命令 + * @param cmdStr + * @returns {Promise} + */ + execShell (cmdStr) { + return new Promise((resolve,reject)=> { + exec(cmdStr, function(err,stdout,stderr) { + if(err) { + console.log('shell is run: '+ stderr); + } else { + resolve(stdout) + } + }); + }) + } + + /** + * 检查是否安装 ADBKeyboard.apk app + * 否则无法输入中文 + * @constructor + */ + async CheckAdbKeyboard() { + let res = await this.execShell(config.baseShell.adbkeyboard); + if (res.indexOf("com.android.adbkeyboard") > -1) { + return true + } else { + console.error("请先安装 ADBKeyboard.apk") + return false + } + } + + /** + * 检查是否安装adb + * @returns {Promise} + * @constructor + */ + async CheckInstallAdb() { + let res = await this.execShell(config.baseShell.adb) + if (res.indexOf("Android Debug Bridge version") > -1) { + return true + } else { + console.error("请先在PC电脑上安装adb工具!!") + return false + } + } + +} + +module.exports = new Utils(); \ No newline at end of file