Skip to content

Releases: Aliothmoon/MaaFwApp

v0.2.2

Choose a tag to compare

@Aliothmoon Aliothmoon released this 08 Oct 11:02

新功能

  • 下载速度: 下载更新时,进度条旁显示最近 3 秒的下载速度
  • GitHub 更新源以 Mirror酱版本为准: 选 GitHub 源时,先匿名向 Mirror酱查最新版本,查到就以它为准:检查更新不再调用国内常连不上或被限流的 GitHub API,下载时取 GitHub 上同一版本的安装包,没有就提示找不到对应安装包。Mirror酱不认识这个项目、请求失败或没有配置时,照旧用 GitHub 自己的最新版本
  • 崩溃与异常上报: 开启遥测时,额外上报 ANR(附系统线程栈)和 Android 12 及以上的原生崩溃

修复

  • 日志体积:
    • MaaFramework 的 maafw.bak.*.log 备份不再无限增长:每轮开始前,每个日志目录保留最新 3 份,更早的超过 3 天或总量超过上限(主日志 128MB、每个 agent 目录 64MB)就删除;只删名字完全符合备份格式、旁边有 maafw.log 的文件。
    • 导出的日志压缩包控制在 24MB 以内,可以直接作为 GitHub 附件上传:当前日志一定带上,备份、截图等按时间从新到旧放满为止,放不下的列在 export_skipped.txt。
  • Agent 启动失败: 提示里写明是哪个 agent 没起来,并提示在设置里打开调试模式后重试以记录原因(@Craun718)。
  • 遥测: 手动停止、被抢占或到达时长上限而中断的任务记为已取消,不再算作任务失败。
  • 折叠箭头: 可折叠卡片(服务器、控制器、设置各分区等)收起时箭头朝下、展开时朝上,与其他折叠处一致。
  • Mirror酱来源标识: 请求 Mirror酱的 user_agent 和网站链接的 source 统一为 MaaFwApp。

开发相关

  • 出包前按打包配方的 agent.runtimes 检查每个 ABI 的运行时文件和入口是否齐全,缺了直接构建失败并逐条列出缺什么;INTEGRATION.md 补充对应的排查说明(@Craun718)。

兼容性

  • 需要 MaaFramework v5.13.0 或更高版本。

完整变更:v0.2.1...v0.2.2

v0.2.1

Choose a tag to compare

@Aliothmoon Aliothmoon released this 06 Oct 10:09

新功能

  • 跑不了的任务改为跳过:
    • 在当前环境跑不了的任务(资源或控制器不匹配、没有 Android 控制器、已从项目里移除)用跳过图标代替勾选框,下方写明原因;添加任务列表、模板预览和悬浮窗里显示同样的原因。
    • 勾选着的这类任务不再让整轮运行被拒,改为跳过,运行日志逐个写明跳过了哪些、为什么;环境恢复后勾选状态原样回来。
    • 原因里会写出要切换到的控制器;已从项目移除的任务提示删除。
  • 调试截图: 调试模式下,后台模式的快捷面板多了截图按钮,可随时保存当前虚拟屏画面到 log/manual/,导出日志时一并带上,最多保留 20 张。
  • 打包配方: 新增 display.foreground,写 false 只保留后台模式,首页不再显示运行模式开关。

修复

  • agent:
    • agent 能收到任务和节点事件,go-service 里靠事件触发的逻辑(如分辨率检查)在安卓上恢复生效;
    • agent 打印的 HTML 提示渲染后显示在「进度」里,并在本轮结束前写入运行日志。
  • 运行:
    • 目标窗口短暂拒收触摸(加载、网络遮罩)时,不再当作点击失败中断任务;
    • 卡住的特权调用到时间就放弃,不再一直等待;
    • 任务没有开始时,原因和堆栈写入运行日志和 app.log;调试模式的 logcat 抓取提前到初始化之前。
  • Android 9: 选后台模式时在开始前提示「Android 10 以下无法使用后台模式」,不再等到虚拟屏创建失败才报「请检查服务权限」。
  • 检查更新: 只提示已经上传了本机安装包的 GitHub 版本,修复发版过程中「提示有更新、下载却没有安装包」。
  • 返回手势: 关闭预测性返回动画,返回直接生效。

开发相关

  • scripts/setup_maa_framework.py:
    • 只铺所选的那个版本,--tag 指定旧版本时不再被缓存里的新版本覆盖;
    • jniLibs 与产物一致时跳过,--force 强制重铺;
    • 先解压到暂存目录,压缩包损坏时保留原有 jniLibs;
    • 下载先写 .part,中断不会留下残缺的 zip;
    • 只设了 ALL_PROXY 时也会走代理。
  • welcome 数组形式补充测试与文档。

兼容性

  • 需要 MaaFramework v5.13.0 或更高版本。

完整变更:v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@Aliothmoon Aliothmoon released this 04 Oct 14:12

新功能

配置导入导出

  • 设置页新增「备份与恢复」:把任务配置、选项、定时和应用设置导出为 JSON。
  • 导入时自动识别三种格式:本应用的备份(整体覆盖)、MXU 配置文件 mxu-*.json(含 MXU 自动备份)、MXU 标签页分享码(追加为新配置)。
  • 密码、Mirror酱 CDK、解锁 PIN 和推送凭据不会导出;任何导入都不会覆盖或清空本机已填写的这些内容。
  • MXU 定时导入后默认关闭,确认时间后再手动开启。

定时任务

  • 调度环境健康卡:发现缺少的权限时给出修复引导,触发日志里也可以一键修复。
  • 唤醒解锁:支持无密码、录制手势和 PIN 三种方式。
  • 定时更可靠:
    • 冷启动也能触发;
    • 开机、改时间或时区、精确闹钟权限变化后自动重排闹钟;
    • 闹钟从触发到派发全程持有唤醒锁。
  • 每次开机提醒一次 OEM 自启动,并给出各厂商的省电设置提示。
  • 时间选择改为滚轮,支持 24 小时制和上午 / 下午。

外观与设置

  • 设置搜索:可以跨标签页、子页面和 PI 选项搜索。
  • 纯黑主题、页面缩放(同时作用于悬浮窗)、自定义背景图(毛玻璃卡片)。
  • 运行通知可以选超级岛、实时更新或标准通知栏样式。
  • PI 的全局设置收进单独的「任务设置」面板,和应用自身的设置分开。
  • 关于卡展示项目图标、名称和简介;联系方式直接展开显示;底部加了 Powered by MaaFwApp。

运行

  • 可配置单轮运行时长上限,超时自动停止。
  • 启动前提醒关闭智能分辨率和护眼模式。
  • 新增分辨率预设,每档有各自的 dpi。
  • PI 声明了多个 Adb 控制器时可以自行选择。
  • 后台模式实时显示游戏帧率。
  • 运行日志:
    • 自动跟随到底部,可一键跳到底部;
    • 每轮运行重新开始;
    • 进度行显示 PI 里的任务名;
    • 导出日志时附带 PI 目录下的 agent 日志。

PI 协议支持

  • password 输入:界面掩码,落盘加密,日志和遥测里打码。
  • checkbox 的 min_count / max_count。
  • setting 分区。
  • Android 原生控制器支持 InputText。
  • controller 的 attach_resource_path。
  • welcome 支持数组形式。
  • 公告、联系方式、许可协议改用 HTML 渲染,效果对齐 MXU。
  • option 省略类型时按 select 处理。
  • 控制器不支持的任务显示为「Android 不支持」并锁定。
  • 首页可以展开查看项目诊断。

遥测与更新

  • 任务失败作为 Sentry 事件上报,附带任务日志和出错截图;release 与环境命名和 MXU 对齐。
  • 检查更新遵循 SemVer,按已安装包的类型更新。
  • 兼容没有扩展名的 Mirror酱 下载地址。
  • 启动时检查到已是最新版本,用 toast 提示。

修复

  • 特权进程与 agent:
    • 结束运行时不再卡住,也不会让特权进程异常退出;
    • agent 子进程不再在特权进程退出后残留;
    • agent 意外退出时会提示,并保存原生崩溃转储;
    • 应用更新后 PI 目录里的 agent 数据不再丢失。
  • 预览:
    • 不再停在已经离开虚拟屏的应用的最后一帧;
    • 特权进程重启后预览恢复正常。
  • 输入:
    • 低帧率游戏里的点击至少保持两帧,避免点不上;
    • 逻辑触点和 Android pointerId 分开处理;
    • 修正 AppOps 编号;
    • specialUse 前台服务被系统拒绝时不再崩溃;
    • 后台虚拟屏不再弹出输入法。
  • 设置数据: 设置文件损坏时重置为默认值,而不是每次启动都崩溃。
  • 运行日志:
    • 跨轮次不再错乱;
    • 原始回调刷屏时进度行不再被冲掉;
    • 多路径资源加载只报一次。
  • 界面:
    • 按压高亮完整贴合圆角卡片和列表行;
    • 折叠卡片的标题在摘要很长时仍可读;
    • 若干对齐与尺寸问题。

兼容性

  • 需要 MaaFramework v5.13.0 或更高版本。

完整变更:v0.1.0...v0.2.0