termux

前情提要

安装 termux(版本需 0.95 以上)

编辑 ~/.termux/termux.properties 文件, 将 allow-external-apps=true 前面的注释 # 去掉, 保存退出

1# termux 安装 adb 工具
2pkg update
3pkg install android-tools

adb 连接手机后授予 termux 权限, autoxjs 或者打包后的应用

(如果有)比如小米:手机需要开启 USB 调试(安全设置) - 可在开发者选项里找到

(如果有)比如 oppo:手机需要开启 禁止权限监控 - 可在开发者选项里找到

1adb shell pm grant 包名 com.termux.permission.RUN_COMMAND
1// 返回桌面
2termux("adb shell input keyevent 3");
3// 这里默认后台执行, 若想使用自己构建的 intent 可以使用 sendTermuxIntent(intent)

sendTermuxIntent(intent)

  • intent Intent
  • return void

发送 Intent 到 Termux

1function getTermuxCommandIntent(execBinName, args) {
2    let intent = new Intent();
3    intent.setClassName("com.termux", "com.termux.app.RunCommandService");
4    intent.setAction("com.termux.RUN_COMMAND");
5    intent.putExtra("com.termux.RUN_COMMAND_PATH", "/data/data/com.termux/files/usr/bin/" + execBinName);
6    intent.putExtra("com.termux.RUN_COMMAND_ARGUMENTS", args);
7    intent.putExtra("com.termux.RUN_COMMAND_WORKDIR", "/data/data/com.termux/files/home");
8    intent.putExtra("com.termux.RUN_COMMAND_BACKGROUND", true);
9    intent.putExtra("com.termux.RUN_COMMAND_SESSION_ACTION", 0);
10    return intent;
11}
12let intent = getTermuxCommandIntent("adb", ["shell", "input", "tap", "66", "88"]);
13sendTermuxIntent(intent); // adb 点击屏幕位置: 66,88