文件管理器与控制台 — 日常开发的左膀右臂
文件管理器
AutoJs6 内置了一个功能完整的文件管理器,入口:主页 → 文件图标。
基础操作
| 操作 | 方法 |
|---|---|
| 浏览目录 | 点击文件夹进入 |
| 返回上级 | 顶部返回或物理返回键 |
| 打开脚本 | 点击 .js 文件用编辑器打开 |
| 长按菜单 | 重命名 / 复制 / 移动 / 删除 / 压缩 / 打包 APK |
新建文件
点击文件管理器右上角 + 号,可以新建:
- 脚本(.js)
- 项目(含 script.json)
- 文件夹
移动与复制(v6.7 优化)
v6.7 重写了移动 / 复制功能,新增:
- 操作中止:长文件移动过程中可以随时取消
- 实时进度:显示当前操作进度条
- 批量操作:选择多个文件一次性移动 / 复制
长按文件 → 移动到
→ 导航到目标目录(支持返回、新建文件夹)
→ 确认移动
→ 显示进度条 → 完成
文件搜索
文件管理器支持关键字搜索,快速定位文件。
文件 API(脚本内使用)
文件读写
// 读取文件
let content = files.read("/sdcard/AutoJs6/script.js");
console.log(content);
// 读取文本文件(字符串)
let text = files.readText("/sdcard/data.txt");
// 写入文件(覆盖)
files.write("/sdcard/output.txt", "Hello AutoJs6");
// 追加写入
files.append("/sdcard/log.txt", "新日志行\n");
// 判断文件是否存在
if (files.exists("/sdcard/config.json")) {
let config = files.readJson("/sdcard/config.json");
}
目录操作
// 列出目录内容
let files = files.listDir("/sdcard/AutoJs6/scripts");
files.forEach(f => console.log(f));
// 创建目录
files.create("/sdcard/AutoJs6/newdir");
// 删除(非空目录可以递归删除吗?注意权限)
files.remove("/sdcard/AutoJs6/temp.js");
// 获取文件信息
let stat = files.stat("/sdcard/AutoJs6/script.js");
console.log("大小: " + stat.size + " bytes");
console.log("修改时间: " + stat.lastModified);
路径相关
// 获取文件扩展名
console.log(files.getExtension("script.js")); // "js"
// 获取文件名(不带路径)
console.log(files.getName("/sdcard/scripts/main.js")); // "main.js"
// 路径拼接(自动处理 /)
let fullPath = files.join("/sdcard", "AutoJs6", "scripts");
console.log(fullPath); // "/sdcard/AutoJs6/scripts"
控制台 console
输出方法
console.log("普通输出"); // 白色
console.info("信息提示"); // 蓝色
console.warn("警告信息"); // 黄色
console.error("错误信息"); // 红色
console.verbose("详细日志"); // 灰色(默认显示)
// 占位符格式化
console.log("数字: %d, 字符串: %s", 42, "hello");
查看控制台
脚本运行时和运行后的控制台输出可以在:
- AutoJs6 应用内 → 运行结果页
- VSCode 远程开发时 → VSCode 调试控制台
分组输出
console.group("签到流程");
console.log("打开微博");
console.log("点击签到按钮");
console.log("等待签到完成");
console.groupEnd();
// 控制台会显示缩进层级:
// 签到流程
// 打开微博
// 点击签到按钮
// 等待签到完成
计时
console.time("操作耗时");
// ... 执行操作 ...
console.timeEnd("操作耗时");
// 输出: 操作耗时: 1523.45ms
device 模块 — 设备信息
// 设备基本信息
console.log("品牌: " + device.brand); // "Xiaomi"
console.log("型号: " + device.model); // "Redmi K60 Pro"
console.log("制造商: " + device.manufacturer);
console.log("Android 版本: " + device.release); // "13"
console.log("API Level: " + device.sdkInt); // 33
console.log("屏幕密度: " + device.density);
console.log("状态栏高度: " + device.statusBarHeight);
console.log("导航栏高度: " + device.navigationBarHeight); // v6.7 新增
屏幕尺寸
console.log("屏幕宽: " + device.width + "px");
console.log("屏幕高: " + device.height + "px");
console.log("DPI: " + device.densityDpi);
console.log("屏幕方向: " + (device.orientation === 1 ? "竖屏" : "横屏"));
电池信息
console.log("电量: " + device.battery + "%");
console.log("是否充电中: " + device.isCharging());
console.log("是否省电模式: " + device.isPowerSaveMode());
其他系统信息
// 屏幕亮度(0-255)
console.log("亮度: " + device.getScreenBrightness());
// 网络类型
// console.log("网络: " + device.getActiveNetworkInfo().type);
// 存储空间
let storageInfo = files.getStorageInfo();
console.log("可用空间: " + storageInfo.availableGB + " GB");
app 模块 — 应用操作
// 打开应用
app.launchApp("设置"); // 用应用名
app.launchPackage("com.android.settings"); // 用包名
// 关闭应用
app.closeByPackageName("com.example.app");
// 强制停止(需要 Shizuku / Root)
app.kill("com.example.app");
// 获取当前前台应用
let current = app.getFrontActivity();
console.log("当前应用: " + current.packageName);
console.log("当前 Activity: " + current.activityName);
// 版本信息
let version = app.getAppVersionName("com.example.app");
console.log("应用版本: " + version);
// 打开应用设置页
app.openAppSetting("com.example.app");
engine 模块 — 脚本引擎
// 获取当前引擎
let engine = engines.myEngine();
console.log("引擎 ID: " + engine.id);
console.log("引擎名称: " + engine.name);
// v6.7 新增:获取引擎启动时间
console.log("启动时间: " + new Date(engine.getStartTime()).toLocaleString());
// 停止当前脚本
// exit(); 或 engines.exit(engine);
// 启动新引擎
let newEngine = engines.execScript("子任务", `
console.log("我在新引擎中运行");
`);
// 停止所有引擎
// engines.killAll();
退出与重启
v6.7 新增的引擎控制:
// 重启 AutoJs6 应用
autojs.restart();
// 重启并自动运行脚本
autojs.restart("/sdcard/AutoJs6/setup.js");
// 退出 AutoJs6
autojs.exit();
// 自动重启策略
// 设置 → 无障碍 → 重启策略
// 控制主页抽屉栏重启按钮的行为