Featured image of post Autojs 在 Redroid 上使用

Autojs 在 Redroid 上使用

基于 redroid-script 构建内置 Magisk 的 Redroid 镜像,解决 su 路径与 Zygisk 生效问题,并通过容器化方式部署 AutoJS 实现自启动与自动化。

前言

在此前的文章中,介绍了如何在 Docker 中配置 Redroid 并通过 Magisk 获取 Root 权限。随着部分开源模块对 Magisk 版本的要求提升,本文采用 ayasa520/redroid-script 进行镜像构建与 Root 方案更新,同时引入 AutoJS 以满足自启动与自动化点击等需求,记录从构建、编排到排障的完整流程。

合规与风险提示
本文仅用于学习与研究。涉及证书、Root、系统模块与网络重定向的操作可能触发合规与安全风险。任何生产或对第三方系统的操作需确保具备合法授权。文中出现的设备标识(如 IMEI)为示例值,请替换为自有、合规的虚构数据。


环境与准备

  • Docker / Docker Compose
  • 可运行 Redroid 的 Linux 主机
  • ADB / Scrcpy(用于调试与投屏)
  • 基础应用:MT 管理器、Termux、AutoJsPro、JustTrustMe
  • Magisk 模块:LSPosed、AlwaysTrustUserCerts、Systemless Hosts
  • 统一资源包(文末提供下载地址)

构建内置 Magisk 的 Redroid 镜像

获取脚本并安装依赖

1
2
3
4
5
git clone https://github.com/ayasa520/redroid-script
cd redroid-script

apt update && apt install -y lzip
pip install -r requirements.txt

扩展 Android 版本枚举(示例:14/15)

如需 Android 14/15,请在 redroid.py 中补全可选版本:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
def main():
    ...
    parser.add_argument('-a', '--android-version',
                        dest='android',
                        help='Specify the Android version to build',
                        default='11.0.0',
-                        choices=['13.0.0', '12.0.0', '12.0.0_64only', '11.0.0', '10.0.0', '9.0.0', '8.1.0'])
+                        choices=['15.0.0_64only', '15.0.0', '14.0.0_64only', '14.0.0',
+                                 '13.0.0_64only', '13.0.0', '12.0.0', '12.0.0_64only',
+                                 '11.0.0', '10.0.0', '9.0.0', '8.1.0'])

构建内置 Magisk 的镜像

1
2
python3 redroid.py -a 15.0.0_64only -m
# 新镜像:redroid/redroid:15.0.0_64only_magisk

启动 Redroid

docker-compose.yaml 示例:

 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
name: android
services:
  redroid_15_1:
    image: redroid/redroid:15.0.0_64only_magisk
    container_name: redroid_15_1
    restart: unless-stopped
    privileged: true
    networks:
      android:
        ipv4_address: 172.18.0.252
    ports:
      - "45555:5555"
    volumes:
      - ./redroid_15_1:/data
    command:
      - androidboot.hardware=mt6891
      - androidboot.hwc=CN
      - androidboot.redroid_height=2400
      - androidboot.redroid_width=1080
      - ro.boot.hwc=CN
      - ro.product.manufacturer=Xiaomi
      - ro.product.brand=Xiaomi
      - ro.product.model=2211133C
      - ro.product.marketname=Xiaomi 13
      - ro.product.device=fuxi
      - ro.product.name=fuxi
      - ro.build.product=fuxi
      - ro.product.mod_device=fuxi
      - ro.secure=0
      - ro.product.locale=zh-CN
      - ro.product.locale.language=zh
      - ro.product.locale.region=CN
      - persist.sys.locale=zh-CN
      - persist.sys.locale_list=zh-CN,en-US
      - persist.sys.timezone=Asia/Shanghai
      - persist.sys.time_12_24=24

networks:
  android:
    driver: bridge
    ipam:
      config:
        - subnet: 172.18.0.0/16

启动与连接:

1
2
3
4
5
6
7
docker compose up -d
docker compose ps
docker compose logs -f redroid_15_1

adb connect 127.0.0.1:45555
adb devices
adb shell whoami

运行正常后可通过 45555 端口访问 ADB 服务。 redroid scrcpy


基础软件与模块安装

软件(统一资源包,见文末)

  • MT 管理器
  • Termux
  • AutoJsPro
  • JustTrustMe

Magisk 模块

  • LSPosed
  • AlwaysTrustUserCerts
  • Systemless Hosts

建议流程:先安装用户证书(见下文),再启用 AlwaysTrustUserCerts,随后按需安装/启用其他模块,以提升 Zygisk 生效的稳定性。


Root 授权与 su 路径

现象

  • 在 Termux 中执行 su 可正常触发 Magisk 授权弹窗;
  • 在 MT 管理器、Shizuku 中无法获取 Root;
  • logcat 无明显异常信息。

处置

说明 不同 App 的 Root 发现与调用路径存在差异,显式路径可避免环境变量或挂载策略导致的可见性问题。若自定义了 PATH、SELinux 或 overlayfs,也需同步评估其影响。


Zygisk 不生效的排查思路

症状 Magisk 中 Zygisk 始终提示“需要重启”,重启后依旧未生效,日志信息有限。

可复用操作

  • 在系统设置中先安装用户证书
  • 通过 LSPosed/模块管理启用 AlwaysTrustUserCerts
  • 重启 Redroid,使 Zygisk 与相关模块完成初始化与挂载。 AlwaysTrustUserCerts

如仍不生效,可尝试清理模块缓存、核对 LSPosed 版本兼容性,并在必要时回退至稳定的 Magisk/Redroid 组合版本。


部署 AutoJS 自动化

适用场景 需要在特定 App 启动后执行自动点击、心跳或表单填充等动作。

合规说明 以下方法仅限自有环境与授权测试场景,请勿用于未授权的应用或服务。

准备 AutoJS 服务

1
2
3
4
5
6
7
# 解压资源包中的 autojserver.tar.gz 至编排目录
tar -zxvf autojserver.tar.gz

cd autojserver
chmod +x main.sh
bash main.sh
# 初始化后将生成自签证书等运行所需文件

Compose 编排

 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
name: android
services:
  redroid_15_1:
    image: redroid/redroid:15.0.0_64only_magisk
    container_name: redroid_15_1
    restart: unless-stopped
    privileged: true
    networks:
      android:
        ipv4_address: 172.18.0.252
    ports:
      - "45555:5555"
    volumes:
      - ./redroid_15_1:/data
    command:
      - androidboot.hardware=mt6891
      - androidboot.hwc=CN
      - androidboot.redroid_height=2400
      - androidboot.redroid_width=1080
      - ro.boot.hwc=CN
      - ro.product.manufacturer=Xiaomi
      - ro.product.brand=Xiaomi
      - ro.product.model=2211133C
      - ro.product.marketname=Xiaomi 13
      - ro.product.device=fuxi
      - ro.product.name=fuxi
      - ro.build.product=fuxi
      - ro.product.mod_device=fuxi
      - ro.secure=0
      - ro.product.locale=zh-CN
      - ro.product.locale.language=zh
      - ro.product.locale.region=CN
      - persist.sys.locale=zh-CN
      - persist.sys.locale_list=zh-CN,en-US
      - persist.sys.timezone=Asia/Shanghai
      - persist.sys.time_12_24=24

  autojserver:
    image: autojserver:latest
    build:
      context: ./autojserver
      dockerfile: Dockerfile
    container_name: autojserver
    restart: unless-stopped
    working_dir: /data
    networks:
      android:
        ipv4_address: 172.18.0.251
    command: ["python", "/data/main.py"]
    volumes:
      - ./autojserver:/data

networks:
  android:
    driver: bridge
    ipam:
      config:
        - subnet: 172.18.0.0/16

启动与日志查看

1
2
3
docker compose up -d
docker compose ps
docker compose logs -f autojserver

证书与 hosts 注入

1
2
3
4
5
# 用户证书:用于系统设置中手动安装
cp ./autojserver/ca.crt ./redroid_15_1/media/0/Download/

# Systemless Hosts:需确保模块已安装
cp -rf ./autojserver/hosts ./redroid_15_1/adb/modules/hosts/system/etc/

随后在 系统设置 → 安全 → 加密与凭据(或证书管理)→ 从存储安装 中安装 ca.crt 用户证书,并在 JustTrustMe 作用域中勾选 AutoJS/目标 App。完成后重启 Redroid。


资源下载

统一资源包

  • 软件:MT 管理器、Termux、AutoJsPro、JustTrustMe
  • 模块:LSPosed、AlwaysTrustUserCerts、Systemless Hosts
面朝大海,春暖花开。
使用 Hugo 构建
主题 StackJimmy 设计