利用 Automator 让 aira2 开机自启

本文介绍了一个轻量级的多协议和多源命令行下载工具——aria2。文章详细讲解了如何在Mac上安装和配置aria2,包括创建配置文件、设置参数及实现开机自启的过程。

什么是 aria2

aria2 是一个轻量级的多协议和多源命令行下载工具。它支持 HTTP/HTTPS,FTP,SFTP,BitTorrent 和 Metalink。aria2 可以通过内置的 JSON-RPC 和 XML-RPC 接口进行操作。

配置 aria2(RPC 模式)

  • 下载和安装

    以下两种安装方式任选一种即可:

    1. aria2/aria2 - GitHub 下载 .dmg 格式安装程序,双击安装

    2. 使用 Homebrew

      brew install aria2
      复制代码
  • 配置

    配置文件也可放在其他目录下,但是将其放在用户根目录下可省去启动时指定配置文件位置的麻烦 [1]。依次执行如下操作:

    1. 在用户根目录,即 /Users/<username> 目录下新建 ** 隐藏 ** 文件夹 .aria2,并在其中新建 aria2.conf 文件

      mkdir ~/.aria2
      cd .aria2
      touch aria2.conf
      复制代码
    2. 打开 Finder,找到 ~/.aria2/aria2.conf(可使用 Shift+Command+G 转到路径或使用 Shift+Command+. 显示隐藏文件),双击打开,编辑并保存自己的配置。以下为 雪月秋水君 提供的一个参考配置 [2]

      #用户名
      #rpc-user=user
      #密码
      #rpc-passwd=passwd
      #上面的认证方式不建议使用,建议使用下面的 token 方式
      #设置加密的密钥
      #rpc-secret=token
      #允许 RPC
      enable-rpc=true
      #允许所有来源,Web 界面跨域权限需要
      rpc-allow-origin-all=true
      #允许外部访问,false 的话只监听本地端口
      rpc-listen-all=true
      #RPC 端口,仅当默认端口被占用时修改
      #rpc-listen-port=6800
      #最大同时下载数(任务数),路由建议值:3
      max-concurrent-downloads=5
      #断点续传
      continue=true
      #同服务器连接数
      max-connection-per-server=5
      #最小文件分片大小,下载线程数上限取决于能分出多少片,对于小文件重要
      min-split-size=10M
      #单文件最大线程数,路由建议值:5
      split=10
      #下载速度限制
      max-overall-download-limit=0
      #单文件速度限制
      max-download-limit=0
      #上传速度限制
      max-overall-upload-limit=0
      #单文件速度限制
      max-upload-limit=0
      #断开速度过慢的连接
      #lowest-speed-limit=0
      #验证用,需要 1.16.1 之后的 release 版本
      #referer=*
      #文件保存路径,默认为当前启动位置
      dir=/Users/<username>/Downloads
      #文件缓存,使用内置的文件缓存,如果你不相信 Linux 内核文件缓存和磁盘内置缓存时使用,需要 1.16 及以上版本
      #disk-cache=0
      #另一种 Linux 文件缓存方式,使用前确保您使用的内核支持此选项,需要 1.15 及以上版本
      #enable-mmap=true
      #文件预分配,能有效降低文件碎片,提高磁盘性能,缺点是预分配时间较长
      #所需时间 none<falloc?trunc«prealloc,falloc 和 trunc 需要文件系统和内核支持
      file-allocation=prealloc
      复制代码
    3. 启动 aria2c

      aria2c -conf-path="/Users/<username>/.aria2/aria.conf" -D
      复制代码

配置开机自启

  1. 打开 Automator,新建一个 Application

  2. 在左侧 Library 中找到或搜索 RunShellScript,拖拽添加至右侧。点击 Options,勾选 Ignore this action's input

  3. 输入

    /usr/local/aria2/bin/aria2c —conf-path="/Users/<username>/.aria2/aria.conf" -D
    复制代码

    保存并退出

  4. 打开 System Perferences - Users & Groups - Login Items,添加刚才制作的 Application,勾选 Hide 即可

相关资源

参考链接

转载于:https://juejin.im/post/5b34e3606fb9a00e8a3e6828

<think> 嗯,用户询问的是UI Automator2是否可以单独使用。从问题来看,用户似乎正在探索Android自动化测试工具的选择方案。 用户提供的引用内容很有价值,其中提到: - 引用1和4说明uiautomatorviewer通常是Android SDK的一部分 - 引用2和5展示了独立打包的可能性 - 引用3强调了工具的效率价值 这些引用暗示用户可能遇到的实际需求是:在脱离完整Android SDK环境的情况下部署自动化测试工具。用户真正关心的可能是便携性和环境依赖问题。 关于UI Automator2的核心解答点: 1. 本质上作为AndroidX测试库提供,通过Gradle依赖即可集成 2. 依赖Android运行环境(设备/模拟器) 3. 需要Java/Kotlin开发环境 4. 核心优势是与Appium等框架解耦 用户可能是移动应用测试工程师,正在评估测试框架的部署成本。ta特意区分了“单独使用”这个概念,说明可能遭遇过某些工具链过于笨重的问题。引用3提到的节省时间数据(250分钟)也印证ta对效率的敏感。 需要特别注意纠正一个潜在误解:UI Automator2和uiautomatorviewer是两个不同工具,前者是测试库,后者是元素查看器。用户提供的引用混用了这两个概念。 在技术细节上要强调: - 最小化依赖只需两个gradle依赖项 - 但Java环境是必须的(呼应引用4的JDK版本信息) - 运行载体必须是Android设备 最后生成的问题要引导用户思考具体使用场景,比如是否需要进行跨平台测试,这对工具选型很关键。 </think> 基于提供的引用信息,关于 UI Automator2 的独立使用问题,以下是结构化分析: --- ### **UI Automator2 能否单独使用?** **可以单独使用**,但需要满足基本环境依赖: 1. **必要依赖** - 必须配置 **Java 开发环境**(JDK 1.8+,引用[4]已验证 JDK 兼容性) - 需通过 Gradle/Maven 引入依赖库: ```gradle dependencies { androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0' } ``` - 运行环境需连接 **Android 设备或模拟器**(API 18+) 2. **独立使用的核心场景** - 直接编写 Java/Kotlin 测试脚本,无需依赖 Appium 等框架 示例代码: ```java UiDevice device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()); device.findObject(By.text("Settings")).click(); // 独立操作设备 ``` - 可集成到 Android Studio 单元测试或 CI/CD 流程中 - 支持直接调用 `UiObject`, `UiSelector` 等原生 API 定位控件 3. **与 UI Automator Viewer 的关系** - **非必需但建议配合**:引用[1][2]强调 `uiautomatorviewer` 用于解析控件层级(非 UI Automator2 组件),可独立通过命令行动辅助编写定位策略 - 独立包结构(引用[2][5])中的 `libs/` 含必要依赖,但 UI Automator2 本身通过 SDK 管理依赖 4. **单独使用的优势**(引用[3]延伸) - 节省集成其他框架的时间成本 - 直接调用底层 API,执行效率更高 - 适合深度定制 Android 原生自动化测试 --- ### **注意事项** 1. **环境隔离问题** 若需完全独立部署(如脱离 Android SDK),需自行打包依赖项(参考引用[5]的 `libs/` 目录管理 JAR 文件)。 2. **兼容性限制** 仅支持 Android 4.3 (API 18) 及以上系统,且不同系统版本可能存在 API 行为差异。 3. **扩展性** 复杂场景(如跨应用测试)需自行封装工具类,而 Appium 等框架已提供现成解决方案。 --- **相关问题** 1. UI Automator2 与 Appium 在 Android 自动化测试中的核心差异是什么? 2. 如何在不依赖 Android Studio 的情况下运行 UI Automator2 测试脚本? 3. UI Automator2 能否用于 iOS 应用的自动化测试? 4. 独立使用 UI Automator2 时如何进行异常处理和日志收集?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值