Auto.js学习笔记2—控制台

本文档详细介绍了Auto.js的控制台模块,包括show、hide、clear等方法以及log、verbose、info、warn、error等不同级别的输出函数。此外,还涵盖了计时器、调用栈追踪、输入交互以及控制台尺寸和位置的调整等功能,是Auto.js调试的重要参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Console

        控制台模块提供了一个和Web浏览器中相似的用于调试的控制台。用于输出一些调试信息、中间结果等。 console模块中的一些函数也可以直接作为全局函数使用,例如log,print等

console.show()

        显示控制台,这会显示一个控制台的悬浮窗(需要悬浮窗权限)

console.hide()

        隐藏控制台悬浮窗

console.clear()

        清空控制台

console.log([data][, ...args])#

  • data {any}
  • ...args {any}

        打印到控制台,并带上换行符,可以传入多个参数,第一个参数作为主要信息,其他参数作为类似于 printf(3) 中的代替值(参数都会传给 util.format())

const count = 5;
console.log('count: %d', count);
// 打印: count: 5 到 stdout
console.log('count:', count);
// 打印: count: 5 到 stdout

        详见 util.format(),该函数也可以作为全局函数使用

console.verbose([data][, ...args])

  • data {any}
  • ...args {any}

        与console.log类似,但输出结果以灰色字体显示,输出优先级低于log,用于输出观察性质的信息

console.info([data][, ...args])

  • data {any}
  • ...args {any}

        与console.log类似,但输出结果以绿色字体显示,输出优先级高于log,用于输出重要信息

console.warn([data][, ...args])

  • data {any}
  • ...args {any}

        与console.log类似,但输出结果以蓝色字体显示,输出优先级高于info,用于输出警告信息

console.error([data][, ...args])

  • data {any}
  • ...args {any}

        与console.log类似,但输出结果以红色字体显示,输出优先级高于warn,用于输出错误信息

console.assert(value, message)

  • value {any} 要断言的布尔值
  • message {string} value为false时要输出的信息

        断言,如果value为false则输出错误信息message并停止脚本运行

var a = 1 + 1;
console.assert(a == 3, "加法出错啦");

结果: 

可以用一种比较友好的方式捕获异常,exit()结束脚本运行,如果不加exit(),则使用捕获异常的方式下,脚本会继续运行,try catch后面的代码会继续执行

console.show()
var a = 1 + 1;
try {
    console.assert(a == 3, "加法出错啦");
} catch (error) {
    toast("出错了")
    exit()
}

结果:直接输出错误信息

​​​​​​console.time([label])

[v4.1.0新增]

  • label {String} 计时器标签,可省略

        启动一个定时器,用以计算一个操作的持续时间,定时器由一个唯一的 label 标识,当调用 console.timeEnd() 时,可以使用相同的 label 来停止定时器,并以毫秒为单位将持续时间输出到控制台,重复启动同一个标签的定时器会覆盖之前启动同一标签的定时器

console.timeEnd(label)

[v4.1.0新增]

  • label {String} 计时器标签

        停止之前通过调用 console.time() 启动的定时器,并打印结果到控制台。 调用 console.timeEnd() 后定时器会被删除,如果不存在标签指定的定时器则会打印 NaNms

console.time('求和');
var sum = 0;
for(let i = 0; i < 100000; i++){
    sum += i;
}
console.timeEnd('求和');
// 打印 求和: xxx ms

案例 

console.trace([data][, ...args])

[v4.1.0新增]

  • data {any}
  • ...args {any}

        与console.log类似,同时会打印出调用这个函数所在的调用栈信息(即当前运行的文件、行数等信息)

console.trace('Show me');
// 打印: (堆栈跟踪会根据被调用的跟踪的位置而变化)
// Show me
//  at <test>:7

        效果如下图,注意,trace不能作为全局函数使用,也就是说不能直接使用trace,要用console.trace() 

console.input(data[, ...args])

  • data {any}
  • ...args {any}

        与console.log一样输出信息,并在控制台显示输入框等待输入,按控制台的确认按钮后会将输入的字符串用eval计算后返回

        部分机型可能会有控制台不显示输入框的情况,属于bug

例如:

var n = console.input("请输入一个数字:"); 
//输入123之后:
toast(n + 1);
//显示124

console.rawInput(data[, ...args])

  • data {any}
  • ...args {any}

        与console.log一样输出信息,并在控制台显示输入框等待输入,按控制台的确认按钮后会将输入的字符串直接返回

        部分机型可能会有控制台不显示输入框的情况,属于bug

例如:

var n = console.rawInput("请输入一个数字:"); 
//输入123之后:
toast(n + 1);
//显示1231

console.setSize(w, h)

  • w {number} 宽度
  • h {number} 高度

        设置控制台的大小,单位像素

console.show();
//设置控制台大小为屏幕的四分之一
console.setSize(device.width / 2, device.height / 2);

案例

console.show()

// 设置控制台大小为屏幕的四分之一
// 同时为了防止控制台的启动延时导致设置样式无效,这里先睡眠一秒
sleep(1000)

console.setSize(device.width/2,device.height/2);

效果

console.setPosition(x, y)

  • x {number} 横坐标
  • y {number} 纵坐标

        设置控制台的位置,单位像素

console.show();
console.setPosition(100, 100);

console.setGlobalLogConfig(config)

[v4.1.0新增]

  • config {Object} 日志配置,可选的项有:
    • file {string} 日志文件路径,将会把日志写入该文件中
    • maxFileSize {number} 最大文件大小,单位字节,默认为512 * 1024 (512KB)
    • rootLevel {string} 写入的日志级别,默认为"ALL"(所有日志),可以为"OFF"(关闭), "DEBUG", "INFO", "WARN", "ERROR", "FATAL"等
    • maxBackupSize {number} 日志备份文件最大数量,默认为5
    • filePattern {string} 日志写入格式,参见PatternLayout

设置日志保存的路径和配置,例如把日志保存到"/sdcard/1.txt":

console.setGlobalLogConfig({
    "file": "/sdcard/1.txt"
});

注意该函数会影响所有脚本的日志记录

print(text)

  • text {string} | {Object} 要打印到控制台的信息

相当于log(text)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小馒头爱学Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值