# termux-app
**Repository Path**: nmrs/termux-app
## Basic Information
- **Project Name**: termux-app
- **Description**: Termux-适用于Android操作系统的终端模拟器应用程序,可通过各种软件包进行扩展。
Termux - a terminal emulator application for Android OS extendible by variety of packages.
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://github.com/termux/termux-app
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-10-08
- **Last Updated**: 2024-10-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Termux 应用程序
[](https://github.com/termux/termux-app/actions)
[](https://github.com/termux/termux-app/actions)
[](https://gitter.im/termux/termux)
[](https://discord.gg/HXpF69X)
[](https://jitpack.io/#termux/termux-app)
[Termux](https://termux.com) 是一个 Android 终端应用程序和 Linux 环境。
请注意,此仓库是针对应用程序本身(用户界面和终端仿真)。对于在应用程序内可安装的软件包,请访问 [termux/termux-packages](https://github.com/termux/termux-packages)。
关于 Termux 包管理的快速指南可在 [包管理](https://github.com/termux/termux-packages/wiki/Package-Management) 中找到。它还包含了如何在运行 `apt` 或 `pkg` 命令时修复 **`仓库正在维护或已关闭`** 错误的信息。
**我们正在寻找 Termux Android 应用程序的维护者。**
***
**注意:Termux 在 Android 12+ 上可能不稳定。** Android 操作系统会终止任何(幻影)进程数超过 32 的进程(限制是所有应用程序的总和),并且还会终止使用过多 CPU 的任何进程。您可能会在终端中收到 `[进程完成(信号 9)- 按 Enter]` 消息,但实际上并没有自己退出 shell 进程。请查看相关的问题 [#2366](https://github.com/termux/termux-app/issues/2366),[问题跟踪器](https://issuetracker.google.com/u/1/issues/205156966),[幻影缓存和空进程文档](https://github.com/agnostic-apollo/Android-Docs/blob/master/en/docs/apps/processes/phantom-cached-and-empty-processes.md) 以及 [这个 TLDR 评论](https://github.com/termux/termux-app/issues/2366#issuecomment-1237468220) 了解如何禁用幻影和过度 CPU 使用进程的修剪。稍后将添加适当的文档页面。在 Android 12L 或 13 中应该有一个选项来禁用终止,所以如果您在 Android 11 上,特别是在您没有 root 的情况下,升级请自担风险。
***
## 目录
- [Termux 应用程序和插件](#termux-应用程序和插件)
- [安装](#安装)
- [卸载](#卸载)
- [重要链接](#重要链接)
- [调试](#调试)
- [面向维护者和贡献者](#面向维护者和贡献者)
- [分支](#分支)
##
## Termux 应用程序和插件
核心 [Termux](https://github.com/termux/termux-app) 应用程序附带以下可选插件应用程序。
- [Termux:API](https://github.com/termux/termux-api)
- [Termux:Boot](https://github.com/termux/termux-boot)
- [Termux:Float](https://github.com/termux/termux-float)
- [Termux:Styling](https://github.com/termux/termux-styling)
- [Termux:Tasker](https://github.com/termux/termux-tasker)
- [Termux:Widget](https://github.com/termux/termux-widget)
##
## 安装
最新版本为 `v0.118.1`。
**注意:强烈建议您尽快更新到 `v0.118.0` 或更高版本,以修复各种错误,包括在[这里](https://termux.github.io/general/2022/02/15/termux-apps-vulnerability-disclosures.html)报告的关键世界可读漏洞。有关 Termux 在 Google Play 上的信息,请参阅[下面](#google-play-store-experimental-branch)。**
Termux 可以通过下面列出的各种来源获取,**仅**支持 Android `>= 7`,并且完全支持应用程序和软件包。
对 Android `5` 和 `6` 的应用程序和软件包的支持在 [2020-01-01](https://www.reddit.com/r/termux/comments/dnzdbs/end_of_android56_support_on_20200101/) 的 `v0.83` 中被放弃,但在 [2022-05-24](https://github.com/termux/termux-app/pull/2740) 通过 [GitHub](#github) 来源重新添加,仅针对应用程序*不支持软件包更新*。查看[这里](https://github.com/termux/termux-app/wiki/Termux-on-android-5-or-6)了解详细信息。
不同来源的 APK 文件使用不同的签名密钥进行签名。`Termux` 应用程序及其所有插件使用相同的 [`sharedUserId`](https://developer.android.com/guide/topics/manifest/manifest-element) `com.termux`,因此设备上安装的所有它们的 APK 必须使用相同的签名密钥才能协同工作,因此它们必须全部来自同一来源。不要尝试将它们混合在一起,即不要尝试从 `F-Droid` 安装一个应用程序或插件,然后从不同的来源如 `GitHub` 安装另一个。Android 包管理器通常不允许安装具有不同签名的 APK,您将在安装过程中遇到错误,如 `应用未安装`、`由于未知错误安装失败`、`INSTALL_FAILED_UPDATE_INCOMPATIBLE`、`INSTALL_FAILED_SHARED_USER_INCOMPATIBLE`、`签名与之前安装的版本不匹配` 等。这个限制可以通过 root 或自定义 ROM 绕过。
如果您希望从不同的来源安装,那么您必须首先从设备上**卸载任何和所有现有的 Termux 或其插件应用程序 APK**,然后从同一新来源安装所有新的 APK。有关详细信息,请查看[卸载](#卸载)部分。您可能还想考虑在卸载前[备份 Termux](https://wiki.termux.com/wiki/Backing_up_Termux),以便在从不同来源重新安装后可以恢复。
在以下段落中,*"bootstrap"* 指的是与 `termux-app` 本身一起分发的最小软件包,用于启动一个工作 shell 环境。它的 zip 文件在 [这里](https://github.com/termux/termux-packages/releases) 构建和发布。
### F-Droid
Termux 应用程序可以从 [这里](https://f-droid.org/en/packages/com.termux/) 的 `F-Droid` 获取。
您**不需要**下载 `F-Droid` 应用程序(通过 `下载 F-Droid` 链接)来安装 Termux。您可以通过点击每个版本部分底部的 `下载 APK` 链接直接从网站下载 Termux APK。
一旦在 `GitHub` 上发布了更新,更新在 `F-Droid` 上可用通常需要几天(甚至一周或更长时间)。`F-Droid` 版本是在它们[检测](https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/com.termux.yml)到新的 `GitHub` 版本后由 `F-Droid` 构建和发布的。Termux 维护者**没有**对在 `F-Droid` 上构建和发布 Termux 应用程序的控制权。此外,Termux 维护者也没有访问 `F-Droid` 版本的 APK 签名密钥,所以我们不能在 `GitHub` 上发布与 `F-Droid` 版本兼容的 APK。
`F-Droid` 应用程序可能不会通知您更新,您必须手动在应用程序的 `更新` 标签页中执行下拉滑动操作,以便它检查更新。确保为应用程序禁用电池优化,查看 https://dontkillmyapp.com/ 了解如何做到这一点。
只发布了通用 APK,它将在所有支持的架构上工作。APK 和 bootstrap 安装大小将为 `~180MB`。`F-Droid` 支持 [不支持](https://github.com/termux/termux-app/pull/1904) 特定架构的 APK。
### GitHub
Termux 应用程序可以通过 `GitHub` 获取,对于版本 `>= 0.118.0`,可以从 [`GitHub Releases`](https://github.com/termux/termux-app/releases) 获取,或者从 [`GitHub Build Action`](https://github.com/termux/termux-app/actions/workflows/debug_build.yml?query=branch%3Amaster+event%3Apush) 工作流获取。**对于 Android `>= 7`,仅安装 `apt-android-7` 变体。对于 Android `5` 和 `6`,仅安装 `apt-android-5` 变体。**
`GitHub Releases` 的 APK 将列在某个版本的 `Assets` 下拉菜单中。这些在发布新版本时会自动附加。
`GitHub Build` 行动工作流的 APK 将列在工作流运行的 `Artifacts` 部分。这些是为存储库中的每次提交/推送创建的,可以由那些不想等待发布并想立即尝试最新功能或想要测试他们的拉取请求的用户使用。请注意,对于行动工作流,您需要[**登录到 `GitHub` 账户**](https://github.com/login)才能启用/点击 `Artifacts` 链接。如果您使用的是 [`GitHub` 应用](https://github.com/mobile),则确保在已登录您的 GitHub 账户的浏览器(如 Chrome 或 Firefox)中打开工作流链接,因为应用内浏览器可能没有登录。
这两种方式的 APK 都是 [`debuggable`](https://developer.android.com/studio/debug),并且彼此兼容,但它们与其他来源不兼容。
发布了通用和特定架构的 APK。如果使用通用 APK,安装大小将为 `~180MB`;如果使用特定架构的 APK,安装大小将为 `~120MB`。查看[这里](https://github.com/termux/termux-app/issues/2153)了解更多详细信息。
**安全警告**:GitHub 上的 APK 文件使用了一个测试密钥进行签名,该密钥已[与社区共享](https://github.com/termux/termux-app/blob/master/app/testkey_untrusted.jks)。这不是一个官方开发者密钥,每个人都可以使用它来生成自己的测试版本。当您从除了 https://github.com/termux/termux-app 之外的其他途径获取 Termux GitHub 构建时,请格外小心。任何人都可以使用它来伪造恶意的 Termux 更新,可以覆盖 GitHub 构建。请三思而后行,不要安装通过 Telegram 或其他社交媒体分发的 Termux 构建。如果您的设备被恶意软件感染,我们将无法帮助您。
[test key](https://github.com/termux/termux-app/blob/master/app/testkey_untrusted.jks) 不应用于冒充 @termux,而且无论如何也不能用于此目的。我们不信任此密钥,而且在用户生成的内容中很容易检测到它的使用。
密钥库信息
```
Alias name: alias
创建日期: 2019年10月4日
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=APK Signer, OU=Earth, O=Earth
发行者: CN=APK Signer, OU=Earth, O=Earth
序列号: 29be297b
有效期: 从2019年9月4日星期三02:03:24 EEST 至 2049年10月26日星期二02:03:24 EEST
证书指纹:
SHA1: 51:79:55:EA:BF:69:FC:05:7C:41:C7:D3:79:DB:BC:EF:20:AD:85:F2
SHA256: B6:DA:01:48:0E:EF:D5:FB:F2:CD:37:71:B8:D1:02:1E:C7:91:30:4B:DD:6C:4B:F4:1D:3F:AA:BA:D4:8E:E5:E1
签名算法名称: SHA1withRSA(已禁用)
主题公钥算法: 2048位 RSA 密钥
版本: 3
```
```
Alias name: alias
Creation date: Oct 4, 2019
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=APK Signer, OU=Earth, O=Earth
Issuer: CN=APK Signer, OU=Earth, O=Earth
Serial number: 29be297b
Valid from: Wed Sep 04 02:03:24 EEST 2019 until: Tue Oct 26 02:03:24 EEST 2049
Certificate fingerprints:
SHA1: 51:79:55:EA:BF:69:FC:05:7C:41:C7:D3:79:DB:BC:EF:20:AD:85:F2
SHA256: B6:DA:01:48:0E:EF:D5:FB:F2:CD:37:71:B8:D1:02:1E:C7:91:30:4B:DD:6C:4B:F4:1D:3F:AA:BA:D4:8E:E5:E1
Signature algorithm name: SHA1withRSA (disabled)
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
```
### Google Play 商店 **(实验分支)**
目前,对于 Android 11+ 设备,Termux 在 Google Play 上有一个可用的构建版本,为了通过那里的政策要求,进行了大量调整。这仍在开发中,与稳定的 F-Droid 构建相比,它缺少功能并且存在错误(有关状态更新,请参阅[这里](https://github.com/termux-play-store/)),这就是为什么大多数能够使用 F-Droid 或 GitHub 构建的用户仍应使用 F-Droid 或 GitHub 构建的原因。
目前,Google Play 会尝试将安装从 F-Droid 更新。由于[sharedUserId](https://developer.android.com/guide/topics/manifest/manifest-element#uid)已被删除,更新仍然会失败。计划中的 0.118.1 F-Droid 版本将通过设置高于 PlayStore 应用使用的版本码来修复此问题。与此同时,为了防止 Google Play 尝试下载然后无法在现有安装上安装 Google Play 版本,您可以打开 Google Play 上的 Termux 应用页面,然后点击右上角的三个点选项按钮,然后禁用启用自动更新开关。但是,Termux 应用更新仍将显示在 PlayStore 应用更新列表中。
如果您想帮助测试 Google Play 构建(或无法从其他来源安装 Termux),请意识到它是从单独的存储库构建的(https://github.com/termux-play-store/) - 请确保在[那里](https://github.com/termux-play-store/termux-issues/issues/new/choose)报告问题,因为遇到的任何问题很可能特定于该存储库。
## 卸载
如果用户不再希望在他们的设备上安装 Termux,或者正在切换到不同的[安装源](#安装),可能需要卸载。在卸载之前,您可能还想考虑[备份 Termux](https://wiki.termux.com/wiki/Backing_up_Termux)。
要完全卸载 Termux,您必须卸载 [Termux 应用程序和插件](#termux-应用程序和插件) 中列出的**任何和所有现有的 Termux 或其插件应用程序 APK**。
转到 `Android 设置` -> `应用程序`,然后查找这些应用程序。如果您的设备上可用,您也可以使用搜索功能,并在应用程序列表中搜索 `termux`。
即使您认为您没有安装任何插件,也强烈建议您浏览 Android 设置中的应用列表并仔细检查。
##
## 重要链接
### 社区
所有社区链接可在[这里](https://wiki.termux.com/wiki/Community)找到。
主要的有以下。
- [Termux Reddit 社区](https://reddit.com/r/termux)
- [Termux 用户 Matrix 频道](https://matrix.to/#/#termux_termux:gitter.im) ([Gitter](https://gitter.im/termux/termux))
- [Termux 开发 Matrix 频道](https://matrix.to/#/#termux_dev:gitter.im) ([Gitter](https://gitter.im/termux/dev))
- [Termux X (Twitter)](https://twitter.com/termuxdevs)
- [Termux 支持邮箱](mailto:support@termux.dev)
### 维基
- [Termux 维基](https://wiki.termux.com/wiki/)
- [Termux 应用程序维基](https://github.com/termux/termux-app/wiki)
- [Termux 软件包维基](https://github.com/termux/termux-packages/wiki)
### 杂项
- [常见问题解答](https://wiki.termux.com/wiki/FAQ)
- [Termux 文件系统布局](https://github.com/termux/termux-packages/wiki/Termux-file-system-layout)
- [与 Linux 的差异](https://wiki.termux.com/wiki/Differences_from_Linux)
- [包管理](https://wiki.termux.com/wiki/Package_Management)
- [远程访问](https://wiki.termux.com/wiki/Remote_Access)
- [备份 Termux](https://wiki.termux.com/wiki/Backing_up_Termux)
- [终端设置](https://wiki.termux.com/wiki/Terminal_Settings)
- [触摸键盘](https://wiki.termux.com/wiki/Touch_Keyboard)
- [Android 存储和与其他应用共享数据](https://wiki.termux.com/wiki/Internal_and_external_storage)
- [Android APIs](https://wiki.termux.com/wiki/Termux:API)
- [将 Termux 包托管从 Bintray 迁移到 IPFS](https://github.com/termux/termux-packages/issues/6348)
- [通过 `RUN_COMMAND` intent 从其他应用在 Termux 中运行命令](https://github.com/termux/termux-app/wiki/RUN_COMMAND-Intent)
- [Termux 和 Android 10](https://github.com/termux/termux-packages/wiki/Termux-and-Android-10)
### 终端
### 终端资源
- [XTerm 控制序列](https://invisible-island.net/xterm/ctlseqs/ctlseqs.html)
- [vt100.net](https://vt100.net/)
- [终端代码 (ANSI 和 terminfo 等效)](https://wiki.bash-hackers.org/scripting/terminalcodes)
### 终端仿真器
- VTE (libvte): GTK+ 的终端仿真器组件,主要用于 gnome-terminal。[源代码](https://github.com/GNOME/vte), [开放问题](https://bugzilla.gnome.org/buglist.cgi?quicksearch=product%3A%22vte%22+), 以及 [所有 (包括已关闭) 问题](https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&chfield=resolution&chfieldfrom=-2000d&chfieldvalue=FIXED&product=vte&resolution=FIXED).
- iTerm 2: OS X 终端应用程序。[源代码](https://github.com/gnachman/iTerm2), [问题](https://gitlab.com/gnachman/iterm2/issues) 和 [文档](https://iterm2.com/documentation.html) (包括 [iTerm2 专有转义码](https://iterm2.com/documentation-escape-codes.html)).
- Konsole: KDE 终端应用程序。[源代码](https://projects.kde.org/projects/kde/applications/konsole/repository), 特别是 [测试](https://projects.kde.org/projects/kde/applications/konsole/repository/revisions/master/show/tests), [错误](https://bugs.kde.org/buglist.cgi?bug_severity=critical&bug_severity=grave&bug_severity=major&bug_severity=crash&bug_severity=normal&bug_severity=minor&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=konsole) 和 [愿望](https://bugs.kde.org/buglist.cgi?bug_severity=wishlist&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=konsole).
- hterm: Chromium 的 JavaScript 终端实现。[源代码](https://github.com/chromium/hterm), 包括 [测试](https://github.com/chromium/hterm/blob/master/js/hterm_vt_tests.js), 和 [Google 群组](https://groups.google.com/a/chromium.org/forum/#!forum/chromium-hterm).
- xterm: 终端仿真器的鼻祖。[源代码](https://invisible-island.net/datafiles/release/xterm.tar.gz).
- Connectbot: Android SSH 客户端。[源代码](https://github.com/connectbot/connectbot)
- Android Terminal Emulator: Android 终端应用程序,Termux 终端处理基于此。不再活跃。[源代码](https://github.com/jackpal/Android-Terminal-Emulator).
##
### 调试
您可以通过在 `Termux` 应用设置中设置适当的 `logcat` `Log Level` 来帮助调试 `Termux` 应用及其插件的问题 -> `` -> `调试` -> `日志级别`(需要 `Termux` 应用版本 `>= 0.118.0`)。`日志级别` 默认为 `Normal`,日志级别 `Verbose` 目前会记录额外的信息。调试完成后最好将日志级别恢复为 `Normal`,因为在正常操作期间,否则可能会将私有数据传递给 `logcat`,而且额外的日志记录会增加执行时间。
插件应用 **不会执行命令本身**,而是向 `Termux` 应用发送执行意图,它有自己的日志级别,可以在 `Termux` 应用设置 -> `Termux` -> `调试` -> `日志级别` 中设置。因此,您必须为 `Termux` 和相应的插件应用设置日志级别,以获取所有信息。
设置好日志级别后,您可以在 `Termux` 应用终端中运行 `logcat` 命令来实时查看日志(按 `Ctrl+c` 停止),或者使用 `logcat -d > logcat.txt` 来转储日志。您也可以通过 `ADB` 从 PC 查看日志。更多信息,请查看官方 android `logcat` 指南 [这里](https://developer.android.com/studio/command-line/logcat)。
此外,用户还可以通过终端长按选项菜单 `更多` -> `报告问题` 选项自动生成 termux 文件 `stat` 信息和 `logcat` 转储,并在提示中选择 `YES` 以添加调试信息。这对于报告和调试其他问题很有帮助。如果生成的报告太大,则可以使用 `ReportActivity` 上下文菜单(右上角的三个点)中的 `保存到文件` 选项,然后查看/共享该文件。
用户在报告问题时必须发布完整的报告(可选地不包含敏感信息)。以 **(部分)错误报告的截图** 而不是文本打开的问题可能会被自动关闭/删除。
##### 日志级别
- `Off` - 不记录任何内容。
- `Normal` - 开始记录错误、警告和信息消息以及堆栈跟踪。
- `Debug` - 开始记录调试消息。
- `Verbose` - 开始记录详细消息。
##
## 面向维护者和贡献者
[termux-shared](termux-shared) 库在 [`v0.109`](https://github.com/termux/termux-app/releases/tag/v0.109) 中添加。它定义了 Termux 应用及其插件的共享常量和工具。它的创建是为了允许移除 Termux 应用中的所有硬编码路径。一些 termux 插件也在使用它,其余的将来也会使用。如果您正在贡献可能共享的代码,那么如果它目前不存在,请在 `termux-shared` 库中定义它,并从那里引用。同时更新相关更新日志。使用硬编码值的拉取请求**将/应该**不被接受。Termux 应用和插件特定的类必须添加到 `com.termux.shared.termux` 包下,通用类则在它外面。贡献代码时还必须检查 [`termux-shared` `LICENSE`](termux-shared/LICENSE.md) 并在必要时更新。任何外部库或代码的许可证必须得到尊重。
主要的 Termux 常量由 [`TermuxConstants`](https://github.com/termux/termux-app/blob/master/termux-shared/src/main/java/com/termux/shared/termux/TermuxConstants.java) 类定义。它还包含了如何分叉 Termux 或使用您自己的包名构建它的信息。更改包名将需要使用新的 `$PREFIX` 构建引导程序 zip 包和其他包,查看 [构建包](https://github.com/termux/termux-packages/wiki/Building-packages) 了解更多信息。
查看 [Termux Libraries](https://github.com/termux/termux-app/wiki/Termux-Libraries) 了解如何在插件应用中导入 termux 库,以及 [Forking and Local Development](https://github.com/termux/termux-app/wiki/Termux-Libraries#forking-and-local-development) 了解如何为插件更新 termux 库。
Termux 及其插件应用的 `build.gradle` 文件中的 `versionName` 必须遵循 [语义版本 `2.0.0` 规范](https://semver.org/spec/v2.0.0.html),格式为 `major.minor.patch(-prerelease)(+buildmetadata)`。在 `build.gradle` 文件中提升 `versionName` 以及在 GitHub 上为新版本创建标签时,确保包含补丁号,如 `v0.1.0` 而不是仅仅 `v0.1`。`build.gradle` 文件和 `attach_debug_apks_to_release` 工作流也会验证版本,如果 `versionName` 不遵循规范,构建/附加将失败。
### 提交信息指南
提交信息 **必须** 使用 [Conventional Commits](https://www.conventionalcommits.org) 规范,以便根据 [Keep a Changelog](https://github.com/olivierlacan/keep-a-changelog) 规范自动生成变更日志,通过 [`create-conventional-changelog`](https://github.com/termux/create-conventional-changelog) 脚本,查看其存储库以获取有关规范的更多详细信息。**`type` 和 `description` 的第一个字母必须大写,并且描述应使用现在时态。**冒号 `:` 后的空格是必要的。对于重大更改,在冒号 `:` 前添加感叹号 `!`,以便它在变更日志中自动突出显示。
```
[optional scope]:
[optional body]
[optional footer(s)]
```
**只能使用下面列出的 `types`,并且必须严格按照它们在变更日志标题中的使用方式使用。**例如,`Added: Add foo`,`Added|Fixed: Add foo and fix bar`,`Changed!: Change baz as a breaking change` 等。您还可以选择添加范围,如 `Fixed(terminal): Fix some bug`。**不要使用其他任何类型,如 `add` 而不是 `Added` 等。**
- **Added** 用于新功能。
- **Changed** 用于现有功能的更改。
- **Deprecated** 用于即将移除的功能。
- **Removed** 用于现在已移除的功能。
- **Fixed** 用于任何错误修复。
- **Security** 用于漏洞情况。
##
## 分叉
- 查看 [`TermuxConstants`](https://github.com/termux/termux-app/blob/master/termux-shared/src/main/java/com/termux/shared/termux/TermuxConstants.java) javadocs 了解如何在应用中更改包名。
- 您还需要为新的包名重新编译引导程序 zip。查看 [构建引导程序](https://github.com/termux/termux-packages/wiki/For-maintainers#build-bootstrap-archives),[这里](https://github.com/termux/termux-app/issues/1983) 和 [这里](https://github.com/termux/termux-app/issues/2081#issuecomment-865280111)。
- 目前,并非所有插件都使用 `termux-shared` 库中的 `TermuxConstants`,并且有硬编码的 `com.termux` 值,需要手动修补。
- 如果分叉 termux 插件,请查看 [Forking and Local Development](https://github.com/termux/termux-app/wiki/Termux-Libraries#forking-and-local-development) 了解如何为插件使用 termux 库。