first commit
This commit is contained in:
23
.gitignore
vendored
Normal file
23
.gitignore
vendored
Normal file
@@ -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?
|
||||
BIN
ADBKeyboard.apk
Normal file
BIN
ADBKeyboard.apk
Normal file
Binary file not shown.
15
README.md
Normal file
15
README.md
Normal file
@@ -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
|
||||
1
config/.pydio
Normal file
1
config/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
fc3940ae-ad6b-4e14-945c-7d3b195ddf08
|
||||
27
config/index.js
Normal file
27
config/index.js
Normal file
@@ -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
|
||||
14
index.js
Normal file
14
index.js
Normal file
@@ -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)
|
||||
// })
|
||||
1
shell/.pydio
Normal file
1
shell/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
4f3298b7-6a94-46ec-928b-7ba7afe08f60
|
||||
2
shell/comment.sh
Executable file
2
shell/comment.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
echo "你好"
|
||||
8
test.js
Normal file
8
test.js
Normal file
@@ -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)
|
||||
}
|
||||
});
|
||||
1
utils/.pydio
Normal file
1
utils/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
358a802d-b623-4739-bde0-48834194aec5
|
||||
55
utils/index.js
Normal file
55
utils/index.js
Normal file
@@ -0,0 +1,55 @@
|
||||
const exec = require('child_process').exec;
|
||||
const config = require('../config');
|
||||
|
||||
class Utils{
|
||||
|
||||
/**
|
||||
* 运行命令
|
||||
* @param cmdStr
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
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<void>}
|
||||
* @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();
|
||||
Reference in New Issue
Block a user