rish: Set Up the Shizuku Shell (Termux & aShell)
rish is the shell that ships with Shizuku — it opens a command line running as the ADB shell user
(UID 2000) right on your phone, with no PC. You can get it two ways: the one-tap route with the aShell You
terminal, or the manual route in Termux using the bundled rish script and rish_shizuku.dex. On
Android 14 and newer there is one extra step to satisfy the writable-dex rule, covered below.
Make sure Shizuku is installed and running before you start — if it isn’t, follow the activation guide first. Need the app? Get v13.6.0 from the download page.
Easiest way — aShell You
aShell You is a terminal app that connects to Shizuku directly, so you get a privileged shell with zero file copying. It is the fastest route for most people and avoids the rish setup entirely.
- Install aShell You from its GitHub releases (also on F-Droid).
- Open it and grant Shizuku access when prompted — approve the request in Shizuku.
- Type a command and run it. You are now executing as the ADB shell user. Try
pm list packages -dto list disabled apps, for example.
Manual setup — Termux + rish
Prefer Termux? rish lives inside the Shizuku APK as two files: assets/rish (an 882-byte shell script) and
assets/rish_shizuku.dex. You extract them and run the script from Termux.
- Extract the rish files — copy the Shizuku APK, rename it to
.zip, open it, and pullrishandrish_shizuku.dexout of theassets/folder. (In the Shizuku app, the “Use rish” entry links to the same files.) - Install Termux from F-Droid — not the abandoned Play Store build — and open it.
- Move both files into Termux’s private home directory. This matters on Android 14+ (see below). If the files are in your Download folder:
# grant Termux storage access first (one time)
termux-setup-storage
# copy rish + dex into Termux home (~), which is app-private
cp ~/storage/downloads/rish ~/storage/downloads/rish_shizuku.dex ~/
cd ~- Set your terminal’s package id and make rish executable:
export RISH_APPLICATION_ID=com.termux
chmod +x rish
./rish- Confirm it worked — at the new prompt run
id; it should reportuid=2000(shell). Add the export line to~/.bashrcso it persists.
The rish script launches app_process with the bundled dex as the class path and starts Shizuku’s ShizukuShellLoader. That loader authenticates through the running Shizuku service using your RISH_APPLICATION_ID, then hands you a shell with the shell user’s privileges.
The Android 14+ writable-dex fix
On Android 14 (SDK 34) and later, app_process refuses to load a dex file that is writable — a
security hardening measure. Because shared storage (/sdcard) ignores chmod, the write bit can
never be removed there, so rish fails. The fix is to keep rish_shizuku.dex in your terminal app’s private
directory, where permissions actually stick.
You will recognise this problem by the exact message the bundled script prints:
On Android 14+, app_process cannot load writable dex.
Attempting to remove the write permission...
Cannot remove the write permission of ./rish_shizuku.dex.The rish script automatically runs chmod 400 on the dex to make it read-only — but that only works on a real
filesystem. Termux’s home directory (/data/data/com.termux/files/home) is app-private ext4, so the chmod succeeds.
Keep the files there, not on /sdcard, and the error disappears.
If you left rish_shizuku.dex in Download, Documents, or any /sdcard path, move it into ~ (Termux home) and run rish from there. This single change fixes the majority of Android 14 and 15 rish failures.
Using the shell
Once rish (or aShell You) is running, you have the same reach as a PC ADB shell. Common uses:
- Disable or uninstall bloatware:
pm uninstall --user 0 com.example.bloat - Re-enable a removed system app:
pm install-existing com.example.bloat - Change a hidden setting:
settings put global setting_name value - Grant a runtime permission:
pm grant com.some.app android.permission.WRITE_SECURE_SETTINGS
Running pm uninstall --user 0 on the wrong package can break system features. Confirm each package name before you remove it, and prefer pm disable-user over uninstall so you can undo. See the best Shizuku apps for safer, guided debloating tools.
rish FAQ
shell user (UID 2000) directly on your phone — the same privileges a PC-connected ADB shell has, but with no computer. It is bundled inside the Shizuku APK as two files: a small rish script and rish_shizuku.dex./sdcard ignores permission changes, so the write bit can never be cleared there. Move rish and rish_shizuku.dex into your terminal app’s private folder (for Termux that is its home directory), where chmod 400 works. The bundled rish script then removes the write permission automatically.export RISH_APPLICATION_ID=your.terminal.package before launching rish — for Termux that is com.termux. Add the same line to ~/.bashrc so it is set every time. rish needs it to authenticate the calling app to Shizuku; without it the shell exits immediately.Sources
Technical details verified against the assets/rish script inside the official Shizuku v13.6.0 APK
and the project’s release notes: