auto.js 实现手机自动化操作
2022-10-20 10:31:20

Auto.js 实现手机自动化操作

Auto.js

Auto.js 官方文档

Auto.js 源码

Auto.js Pro博客

app: 应用。启动应用,卸载应用,使用应用查看、编辑文件、访问网页,发送应用间广播等。

方法名作用
versionCode当前软件版本号
versionName当前软件的版本名称
autojs.versionCodeAuto.js版本号
autojs.versionNameAuto.js版本名称
launchApp(appName)应用名称启动应用
launch(packageName) 与 launchPackage(packageName)应用包名启动应用
getPackageName(appName)获取应用名称对应的已安装的应用的包名
openAppSetting(packageName)打开应用的详情页(设置页)
viewFile(path)用其他应用查看文件
editFile(path)用其他应用编辑文件
uninstall(packageName)卸载应用
openUrl(url)用浏览器打开网站url
sendEmail(options)发送email
startActivity(name)启动Auto.js的特定界面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
toastLog(app.versionApp + " " +app.VesionCode) 
toastLog(app.autojs.versionName + app.autojs.versionCode)
// 启动应用
launchApp(appName)
launchPackage(packageName) getPackageName(appName)
openUrl(url)
openAppSetting(packageName)
viewFile(path)
editFile(path)
startActivity(name)
app.sendEmail({
email: ["10086@qq.com", "10001@qq.com"],
subject: "这是一个邮件标题",
text: "这是邮件正文"
});
app.startActivity("console");
// console 日志界面 setting 设置界面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function toTotal() {
toastLog("Message")
toastLog(app.versionName)
toastLog(app.versionCode)
toastLog(app.autojs.versionName)
toastLog(app.autojs.versionCode)
}
// toTotal()
function startApp(){
launchApp("优酷视频")
var ykPackageName = app.getPackageName("优酷视频")
toastLog(ykPackageName)
app.openAppSetting(ykPackageName)
app.uninstall(ykPackageName)
}
startApp()
function conActivity(){ app.startActivity("com.tencent.mm.plugin.offline.ui.WalletOfflineCoinPurseUI")
app.startActivity("console");
app.startActivity("setting");
}

function changeFile() {
viewFile("/storage/emulated/0/Download/规则.txt")
editFile("/storage/emulated/0/Download/规则.txt")
}

// app.openUrl("www.baidu.com")

console: 控制台。记录运行的日志、错误、信息等。

  • show
  • hide
  • hide
  • log
  • verbose
  • info
  • warn
  • error
  • assert
  • timeEnd
  • trace
  • input
  • rawInput
  • setSize
  • setPosition
  • setGlobalLogConfig
  • print(text)

device: 设备。获取设备屏幕宽高、系统版本等信息,控制设备音量、亮度等。

1
device.vibrate(10000);

engines: 脚本引擎。用于启动其他脚本。

events: 事件与监听。按键监听,通知监听,触摸监听等。

floaty: 悬浮窗。用于显示自定义的悬浮窗。

files: 文件系统。文件创建、获取信息、读写。

http: HTTP。发送HTTP请求,例如GET, POST等。

  • get
  • post
  • postJson
  • Multipart
  • request
  • Response

images, colors: 图片和图色处理。截图,剪切图片,找图找色,读取保存图片等。

keys: 按键模拟。比如音量键、Home键模拟等。

shell: Shell命令。

threads: 多线程支持。

ui: UI界面。用于显示自定义的UI界面,和用户交互。

项目实战

  • 飞行模式破限速

    • 开关飞行模式,如果速度大于250k者,破限速成功,小于250k,则重复操作
  • 安装termux,pkg install android-tools

ADB工具安装器-

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
adb shell am start -a android.intent.action.SENDTO -d sms:10086 --es sms_body  hello  //编辑短信

adb shell input keyevent 22 //焦点去到发送按键

adb shell input keyevent 66 //回车,就是按下发送键

am start -a android.intent.action.SENDTO -d sms:10086 --es sms_body cxll

input keyevent 22

input keyevent 66

am start -a android.intent.action.SENDTO -d sms:10001 --es sms_body cxll

input keyevent 22

input keyevent 66

settings put global multi_sim_data_call 1 切换卡1

settings put global multi_sim_data_call 2 切换卡2

打开飞行模式:

adb shell settings put global airplane_mode_on 1

关闭飞行模式:

adb shell settings put global airplane_mode_on 0

settings put global multi_sim_data_call 1

svc data disable

svc data enable

试一下:

//开启飞行模式

settings put global airplane_mode_on 1

am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true

//关闭飞行模式

settings put global airplane_mode_on 0

am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false

测速

adb shell am start -n com.android.camera/com.android.camera.Camera
//开启飞行模式
su
settings put global airplane_mode_on 1
am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true
//关闭飞行模式
su
settings put global airplane_mode_on 0
am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false
上一页
2022-10-20 10:31:20
下一页