服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android终端模拟器Termux的强大功能:应用调用Termux执行命令

Android终端模拟器Termux的强大功能:应用调用Termux执行命令

2024-04-18 15:28沐雨花飞蝶 Android

Termux为多种编程语言提供了支持,包括Python、Ruby、Node.js、PHP、Perl等,简单配置后可以在Android设备上编写和运行代码。还提供了丰富的命令行工具,如grep、awk、sed以及各种文本处理和网络诊断工具。

Termux介绍

Termux是一款开源的Android终端模拟器,使用apt和dpkg作为包管理工具,可以轻松安装、升级和管理各种软件包。

Termux为多种编程语言提供了支持,包括Python、Ruby、Node.js、PHP、Perl等,简单配置后可以在Android设备上编写和运行代码。还提供了丰富的命令行工具,如grep、awk、sed以及各种文本处理和网络诊断工具。

Termux允许用户访问和管理Android设备上的文件,包括内部存储和外部存储。同时包含SSH客户端和服务器,允许用户远程连接到其他计算机或者让其他计算机连接到Termux。此外还支持版本控制系统如Git和Subversion,用户可以在其设备上进行版本控制操作。

调用Termux执行命令

自Termux 0.95版起,第三方应用程序可以通过向RunCommandService发送intent或成为termux-tasker插件客户端的插件,在Termux应用程序上下文中运行命令。

  1. 配置Termux允许外部应用调用: 打开Termux,修改~/.termux/termux.properities文件,添加一行:
allow-external-apps = true

对于安卓版本>=10.0,需要给Termux启用关联应用权限,否则将不允许第三方应用直接后台启动Termux,而是当Termux在后台运行时才能调用。

启用「关联应用」权限:【应用信息】 -> 【应用】 -> 【Termux】 -> 【权限】 -> 【关联应用】。

  1. 应用配置: 在AndroidManifest.xml文件中请求com.termux.permission.RUN_COMMAND权限,在代码中给RunCommandService发送Intent。
<uses-permission android:name="com.termux.permission.RUN_COMMAND"/>

代码中Intent构建:

intent.setClassName("com.termux", "com.termux.app.RunCommandService");
intent.setAction("com.termux.RUN_COMMAND");
intent.putExtra("com.termux.RUN_COMMAND_PATH", "/data/data/com.termux/files/usr/bin/top");
intent.putExtra("com.termux.RUN_COMMAND_ARGUMENTS", new String[]{"-n", "5"});
intent.putExtra("com.termux.RUN_COMMAND_WORKDIR", "/data/data/com.termux/files/home");
intent.putExtra("com.termux.RUN_COMMAND_BACKGROUND", false);
intent.putExtra("com.termux.RUN_COMMAND_SESSION_ACTION", "0");
startService(intent);

相关参数说明:

  • com.termux.RUN_COMMAND_PATH:调用的ELF文件;
  • com.termux.RUN_COMMAND_ARGUMENTS:调用命令参数;
  • com.termux.RUN_COMMAND_WORKDIR:工作目录;
  • com.termux.RUN_COMAND_BACKGROUND:是否后台运行。如果为true则不会进入TermuxActivity;
  • com.termux.RUN_COMMAND_SESSION_ACTION:会话动作。

此处调用的是top命令:/data/data/com.termux/files/usr/bin/top

原文地址:https://mp.weixin.qq.com/s/BWkh7bPfTvw8i5f6hQTCEg

延伸 · 阅读

精彩推荐