# App manager - termux

**URL:** https://jtechforums.org/t/app-manager-termux/6699
**Category:** made by members
**Tags:** termux, CLI
**Created:** [April 26, 2026, 1:45pm UTC](https://jtechforums.org/t/app-manager-termux/6699 "2026-04-26T13:45:10Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![flipphoneguy](https://jtechforums.org/user_avatar/jtechforums.org/flipphoneguy/32/11165_2.png) [@flipphoneguy](https://jtechforums.org/u/flipphoneguy)
#### Post date: [April 26, 2026, 1:45pm UTC](https://jtechforums.org/t/app-manager-termux/6699/1 "2026-04-26T13:45:10Z")

</div>

# Manage Android apps with a intuitive CLI in Termux

As jtech users usually use Android and surely all have termux installed I figured this might be useful. Root required. Read the README for info on what it is and it’s features.

[https://github.com/flipphoneguy/termux-app-manager](https://github.com/flipphoneguy/termux-app-manager)

Please note. This is still in early beta testing stages.

## Please provide feedback especially bugs (and feature requests)

I’m thinking of getting it added to termux-root-repo but I need it tested by more then just my device. Started off as myself writing tons of bash for it till I got tired and git Claude to help out and make it work across devices… Now it really needs testing…

@ars18 I thought this project might interest you.

> **README**
>
> # tam — Termux App Manager
> 
> A single-file bash wrapper around `pm`, `am`, `cmd package`, `cmd appops`,  
> `cmd deviceidle`, and the Intent Firewall for managing Android apps from  
> rooted Termux.
> 
> ## Requirements
> 
> - Rooted Android (passwordless `sudo` / `tsu`)
> - `pm`, `am` (always present); `numfmt` for size formatting
> - `fzf` recommended for nicer pickers (numbered fallback otherwise)
> 
> ## Install
> 
> ```sh
> chmod +x tam
> ln -s "$PWD/tam" "$PREFIX/bin/tam"
> 
> ```
> 
> ## Usage
> 
> `tam` with no args opens an interactive menu. Otherwise pass a subcommand —  
> `tam help` lists every one. Most accept a partial package name; if more than  
> one matches you get an `fzf` picker.
> 
> ```sh
> tam list -3 # third-party packages
> tam info termux # partial → picker if ambiguous
> tam open settings # pick an activity to launch
> tam ifw-block com.foo # pick a component, write IFW rule
> tam extract com.termux ~/apks
> 
> ```
> 
> ## Features
> 
> ### Packages
> 
> - `list [-3 | -s | -d | -e | -all]` — third-party / system / disabled / enabled
> - `search <partial>` — print matching package names
> - `info <pkg>` — version, enabled state, appId, targetSdk, APK path, launcher, IFW
> - `path <pkg>` — APK path(s)
> 
> ### Launching
> 
> - `launch <pkg>` — default MAIN/LAUNCHER activity
> - `open <pkg>` — pick an activity to start
> - `start <pkg/component>` — direct launch of any component
> - `settings <pkg>` — open the OS app-info screen
> 
> ### Components
> 
> - `components <pkg> [kind]` — kind = `activity` | `service` | `receiver` | `provider` | `all`
> - Aliases: `activities`, `services`, `receivers`, `providers`
> - `enable-c <pkg/comp>` / `disable-c <pkg/comp>` — toggle a single component
> 
> ### Lifecycle / state
> 
> - `enable` / `disable` (uses `disable-user --user 0`)
> - `hide` / `unhide` / `suspend [true|false]`
> - `force-stop` / `kill` / `clear` (wipes data)
> - `uninstall <pkg> [-k]` (-k keeps data) / `install <apk>`
> 
> ### Extraction
> 
> - `extract <pkg> [dir]` — pulls base + split APKs into `dir` (default: cwd)
> 
> ### Permissions
> 
> - `perms <pkg>` — pretty list, grouped: runtime / install (auto) / declared-only
> - `perm <pkg>` — interactive picker, toggles state, loops until quit
> - `grant <pkg> [perm]` — picker over denied if perm omitted
> - `revoke <pkg> [perm]` — picker over granted if perm omitted
> 
> ### Accessibility (`a11y` = “accessibility”)
> 
> Manages `secure enabled_accessibility_services` and the master  
> `accessibility_enabled` flag.
> 
> - `a11y` — list enabled and available services
> - `a11y on` / `a11y off` — master switch
> - `a11y enable [pkg/comp]` / `a11y disable [pkg/comp]` (picker if omitted)
> - `a11y toggle` — pick any service, flip its state
> - `a11y <pkg>` — pick & toggle services declared by `<pkg>`
> 
> ### App-Ops
> 
> For permissions that `pm grant` can’t toggle — `SYSTEM_ALERT_WINDOW`,  
> `MANAGE_EXTERNAL_STORAGE`, `PACKAGE_USAGE_STATS`, `WRITE_SETTINGS`,  
> `REQUEST_INSTALL_PACKAGES`, etc.
> 
> - `appops <pkg>` — list current op states with color (allow/ignore/deny/default)
> - `appops <pkg> pick` — pick op → pick mode
> - `appops <pkg> <op> [mode]` — set one op directly (mode picker if omitted)
> 
> ### Battery optimisation
> 
> Wraps `cmd deviceidle whitelist`. Three categories exist; only the `user`  
> list is toggleable (Android settings UI mirrors this set).
> 
> - `batt` — list user-whitelisted (battery-exempt) packages
> - `batt all` — full whitelist (system + system-excidle + user)
> - `batt status <pkg>` — which list(s) `<pkg>` is in
> - `batt add <pkg>` / `batt remove [pkg]` (picker if omitted) / `batt toggle <pkg>`
> 
> ### Size breakdown
> 
> - `size <pkg>` — APK(s), code dir, internal data, external data, OBB, total
> 
> Kept out of `info` because it walks data directories — slow on large apps.
> 
> ### Intent Firewall
> 
> Writes `/data/system/ifw/<pkg>.xml`, one file per package, idempotently merged.  
> Auto-detects activity / service / broadcast kind.
> 
> - `ifw-block <pkg> [comp]` — picker if comp omitted
> - `ifw-unblock <pkg> [comp]` — picker over current rules
> - `ifw-list [pkg]` — show rules (or list rule files)
> - `ifw-clear <pkg>` — delete all rules for pkg
> 
> ## Compatibility
> 
> Targeted at modern stock Android. Tested on Android 14. Caveats per feature:
> 
> | Feature | Minimum | Notes |
> | --- | --- | --- |
> | `pm grant` / `revoke`, runtime perms parser | Android 6 | dumpsys section names stable on 8+ |
> | `pm suspend` | Android 9 | older just errors out |
> | `appops` | Android 9 (`cmd appops`) | falls back to bare `appops` binary on older |
> | `launch` / `a11y` (uses `cmd package query-…`) | Android 10 | dumpsys-resolver-table fallback for `launch` |
> | IFW (`/data/system/ifw/`) | Android 4.4+ | **some ROMs strip the dir** (a few Chinese OEMs, GrapheneOS) |
> | `pm hide` / `disable-user` / `suspend` | varies | OEM policy (Knox, MIUI) can refuse even with root |
> 
> `du -sb`, `numfmt`, `paste`, `fzf` are Termux coreutils — always available  
> in Termux, not Android-side.
> 
> ## Notes
> 
> - All privileged calls go through `sudo` — no in-place root checks beyond that.
> - `NO_COLOR=1` disables colored output.
> - Most subcommands accept a partial package name and prompt via `fzf`  
> (numbered menu fallback) when more than one matches; an exact match  
> short-circuits the picker.
> - Interactive menu groups: a11y stays under **permissions** ; battery  
> optimisation and size breakdown are top-level entries.

---

<div class="post-metadata">

### Author: ![flipphoneguy](https://jtechforums.org/user_avatar/jtechforums.org/flipphoneguy/32/11165_2.png) [@flipphoneguy](https://jtechforums.org/u/flipphoneguy)
#### Post date: [May 15, 2026, 2:53am UTC](https://jtechforums.org/t/app-manager-termux/6699/2 "2026-05-15T02:53:19Z")

</div>

In case anyone is using it, I just that update it a lot with bug fixes etc and tested (almost) all features on my device including ifw. If you’re using it, you might wanna update

---

<div class="post-metadata">

### Author: ![kosherboy](https://jtechforums.org/user_avatar/jtechforums.org/kosherboy/32/292_2.png) [@kosherboy](https://jtechforums.org/u/kosherboy)
#### Post date: [May 15, 2026, 3:23am UTC](https://jtechforums.org/t/app-manager-termux/6699/3 "2026-05-15T03:23:13Z")

</div>

I don’t see anything to download in the repo. Is there something or I missed the boat?

---

<div class="post-metadata">

### Author: ![flipphoneguy](https://jtechforums.org/user_avatar/jtechforums.org/flipphoneguy/32/11165_2.png) [@flipphoneguy](https://jtechforums.org/u/flipphoneguy)
#### Post date: [May 15, 2026, 3:26am UTC](https://jtechforums.org/t/app-manager-termux/6699/4 "2026-05-15T03:26:49Z")

</div>

Just download the tam file, copy it to your writing directory in termux and run

```bash
chmod +x tam && ./tam

```

---

<div class="post-metadata">

### Author: ![kosherboy](https://jtechforums.org/user_avatar/jtechforums.org/kosherboy/32/292_2.png) [@kosherboy](https://jtechforums.org/u/kosherboy)
#### Post date: [May 15, 2026, 3:27am UTC](https://jtechforums.org/t/app-manager-termux/6699/5 "2026-05-15T03:27:57Z")

</div>

Never mind. It’s above my pay grade. I thought it was a gui for termux or something.

---

<div class="post-metadata">

### Author: ![flipphoneguy](https://jtechforums.org/user_avatar/jtechforums.org/flipphoneguy/32/11165_2.png) [@flipphoneguy](https://jtechforums.org/u/flipphoneguy)
#### Post date: [May 15, 2026, 3:28am UTC](https://jtechforums.org/t/app-manager-termux/6699/6 "2026-05-15T03:28:33Z")

</div>

It’s a TUI. Get used to terminals 😂

---

<div class="post-metadata">

### Author: ![flipphoneguy](https://jtechforums.org/user_avatar/jtechforums.org/flipphoneguy/32/11165_2.png) [@flipphoneguy](https://jtechforums.org/u/flipphoneguy)
#### Post date: [May 15, 2026, 3:29am UTC](https://jtechforums.org/t/app-manager-termux/6699/7 "2026-05-15T03:29:33Z")

</div>

Btw did anyone here ever distribute anything to termux packages? I wonder if this would be interesting for their root-repo or tur repo.
