Termux is a terminal emulator application for the Android operating system, and also a Linux environment that can be extended through various packages. This repository contains only the application itself (i.e., the user interface and terminal emulation parts). For packages that can be installed within the application, please see the termux/termux-packages repository.
[Main Purpose] Termux gives users a usable terminal and Linux environment on Android devices, allowing them to directly run coding tools, AI models, and development environments, and supports logging in to remote hosts through the built-in SSH client.
[Main Capabilities]
- Provides an Android terminal application and Linux environment.
- Functionality can be extended through various packages; for package management, see the Package Management documentation.
- Built-in SSH client support (listed as one of the important links in the materials), which can be used to log in to remote hosts.
- Provides the termux-shared library (added since v0.109), which defines constants and utilities shared by the app and its plugins, and supports removing hardcoded paths.
- The core app comes with several optional plugin apps.
[Version and How to Obtain]
- The latest version is v0.118.3. It is strongly recommended to update to v0.118.0 or higher as soon as possible to get multiple bug fixes, including a globally readable vulnerability reported as critical.
- Full support (app and packages) requires Android >= 7.
- Available from F-Droid, GitHub Releases, GitHub Build Action workflows, and Google Play (experimental branch, for Android 11+).
- Support for Android 5 and 6 was dropped on 2020-01-01 in v0.83, and was later re-added on 2022-05-24 via GitHub sources for the app itself only, without package update support.
- APKs from different sources use different signing keys. The Termux app and all its plugins use the same sharedUserId com.termux, so all APKs installed on the same device must come from the same source and use the same signing key. Mixed installation will cause installation errors such as App not installed, INSTALL_FAILED_UPDATE_INCOMPATIBLE, INSTALL_FAILED_SHARED_USER_INCOMPATIBLE, etc. To install from a different source, you must first uninstall all existing Termux or plugin APKs (consider backing up Termux first), and then install all APKs from the same new source.
[Installation Source Details]
- F-Droid: APKs can be downloaded directly from the site without downloading the F-Droid app. F-Droid's builds and releases are controlled by F-Droid; Termux maintainers cannot control them and do not have access to their signing keys. Updates may be delayed by several days or even more than a week; the F-Droid app often does not proactively notify of updates, so manual pull-to-refresh is required. Only universal APKs are released, with an installation size of about 180MB; F-Droid does not support architecture-specific APKs.
- GitHub: Available from GitHub Releases (version >= 0.118.0) or GitHub Build Action workflows. For Android >= 7, install only the apt-android-7 variant; for Android 5 and 6, install only the apt-android-5 variant. GitHub Releases APKs are located in the Assets dropdown; workflow APKs are located in the Artifacts section and require logging in to a GitHub account to click. Both are debuggable builds and compatible with each other, but incompatible with other sources. Both universal and architecture-specific APKs are provided: the universal installation size is about 180MB, and architecture-specific ones are about 120MB.
- Security warning: APKs on GitHub are signed with a test key that has been shared with the community. This is not the official developer key, and anyone can use it to generate their own test releases. Please only from https://github.com/termux/termux-app Get GitHub builds, and be cautious of Termux builds distributed via Telegram or other social media.
- Google Play (experimental branch): targets Android 11+, has undergone extensive adjustments to comply with platform policy requirements, has incomplete functionality and defects, and lacks features compared with stable F-Droid builds. Currently Google Play attempts to update the F-Droid installation to its own version, but because sharedUserId has been removed, the update will fail. You can disable "Enable auto-update" on the Google Play Termux app page via the three-dot menu in the upper right corner. This build comes from an independent repository https://github.com/termux-play-store/ , and issues should be reported to that repository.
[Android 12+ stability note] Termux may be unstable on Android 12+. The Android system will kill any (phantom) processes beyond 32 (this limit applies to all apps combined), and will also kill processes that use too much CPU. The terminal may show the message [Process completed (signal 9) - press Enter], even though the shell process did not actually exit on its own. Related issue #2366 and the documentation provide methods to disable phantom process killing and excessive CPU usage process trimming. Android 12L or 13 should provide an option to disable this killing.
[Uninstall] For a complete uninstall, you must uninstall all Termux and its plugin APKs listed in Termux App and Plugins. You can find them in Android Settings -> Apps (you can use the search function to search for termux), and even if you think no plugins are installed, it is recommended to check them one by one. Consider backing up Termux before uninstalling.
[Debugging and logs] You can set the logcat log level in Termux app settings -> <APP_NAME> -> Debugging -> Log Level (requires Termux app version >= 0.118.0). The log level defaults to Normal; Verbose records additional information. After debugging is complete, it is recommended to restore it to Normal, because during normal operation private data may be passed into logcat, and extra logs increase execution time. Plugin apps themselves do not execute commands; instead, they send execution intents to the Termux app, so the log level must be set for both Termux and the related plugin apps. You can run logcat in the terminal in real time to view logs (Ctrl+c to stop) or use logcat -d > logcat.txt to export logs, and you can also view them via ADB on a PC. Users can also use the terminal long-press options menu More -> Report Issue to automatically generate termux file status information and a logcat dump. When reporting an issue, a complete report must be provided (sensitive information may be removed); issues that provide only a screenshot of an error report may be automatically closed or deleted.
[Developers and contributions]
- termux-shared library since v0.1Joining from 09, defining constants and utilities shared by apps and plugins. If contributed code uses constants or utilities that may be shared and do not yet exist in the library, they should be defined in the termux-shared library and referenced from there. Pull Requests using hardcoded values will not be accepted. Termux app- and plugin-specific classes must be placed under the com.termux.shared.termux package, and general classes outside it. When contributing code, the termux-shared LICENSE must be checked and updated.
- The main Termux constants are defined by the TermuxConstants class, which contains information on how to fork Termux or build with your own package name. Changing the package name requires building the bootstrap zip package and other packages with a new $PREFIX; see Building Packages for details.
- For importing the termux library in plugin apps, see Termux Libraries; for updating the termux library for plugins, see Forking and Local Development.
- The versionName in the build.gradle files of Termux and its plugin apps must follow the Semantic Versioning 2.0.0 specification, in the format major.minor.patch(-prerelease)(+buildmetadata). When bumping the versionName and creating new GitHub release tags, the revision number must be included, for example use v0.1.0 instead of v0.1.
- The repository is looking for Termux Android app maintainers.
【Community Links】 The main community channels include the Termux Reddit community, the Termux User Matrix channel (Gitter), the Termux Dev Matrix channel (Gitter), Termux X (Twitter), and the Termux support email. Wiki resources include the Termux App Wiki and the Termux Packages Wiki.