adv-install is a non-root Termux + Shizuku shell workflow for installing locally stored APK files through Android Package Manager as uid=2000(shell).
The project is intended as an on-device shell installation route in response to Android Developer Verification: it uses Shizuku and rish to run Package Manager through the Android shell identity normally associated with ADB, without root and without requiring a USB-connected computer for every APK installation after setup.
Important
Google documents a Developer Verification exception for Android Debug Bridge (ADB) installs. Google does not explicitly name Shizuku, rish, Termux, or adv-install. This project is designed to use the same Android shell identity as ADB, but future Android, Google Play services, or manufacturer changes could classify this workflow differently.
- Install Termux and Shizuku on your Android device.
- Start Shizuku using wireless debugging.
- Export
rishandrish_shizuku.dexfrom Shizuku. - Follow the full setup guide in docs/installation.md.
- Install a local APK:
adv-install "/storage/emulated/0/Download/application.apk"Local APK or APK archive
|
v
Termux
|
v
adv-install
|
v
rish + Shizuku
|
v
uid=2000(shell)
|
v
/data/local/tmp staging
|
v
Android Package Manager
|
v
Installed app
adv-install:
- accepts a local
.apk,.apks,.xapk,.zip, or directory of split APKs; - verifies that
rishreturns Android shell UID2000; - stages APK files under
/data/local/tmp; - validates staged byte counts;
- calls
pm installorpm install-multiplethroughrish; - removes local and remote temporary files after success, failure, or interruption.
Install a single APK:
adv-install "/storage/emulated/0/Download/application.apk"Install an .apks archive:
adv-install "/storage/emulated/0/Download/application.apks"Install an .xapk archive:
adv-install "/storage/emulated/0/Download/application.xapk"Install a .zip archive containing APK files:
adv-install "/storage/emulated/0/Download/application.zip"Install a directory containing split APK files:
adv-install "/storage/emulated/0/Download/application-splits"Fresh reinstall for the current Android user:
adv-install --fresh --package com.example.app "/storage/emulated/0/Download/application.apk"See docs/usage.md for all options and archive behavior.
- docs/scope.md - project goals, Developer Verification scope, and what the tool does not bypass.
- docs/installation.md - Termux, Shizuku,
rish, and first-time setup. - docs/usage.md - supported input types, options, examples, and archive behavior.
- docs/technical-overview.md - staging, byte-count validation, shell identity checks, and Package Manager flow.
- docs/security-considerations.md - APK trust, hash checks, Shizuku handling, and data behavior.
- docs/troubleshooting.md - common setup and install failures.
- docs/faq.md - common questions about Developer Verification, ADB-style installs, root, Play Protect, and split APKs.
- docs/maintenance.md - updating, removing, testing, and release checklist.
adv-install is not an APK downloader, APK store, malware scanner, root tool, Play Protect disabler, signature bypass, enterprise-policy bypass, or guarantee of future Android compatibility.
The APK must still pass Android's normal Package Manager checks, including signature validation, package parsing, compatibility requirements, user/device policy, and manufacturer restrictions. See docs/scope.md for the detailed boundary list.
After cloning:
install -m 755 adv-install "$PREFIX/bin/adv-install"
hash -rThen verify:
command -v adv-install
bash -n "$PREFIX/bin/adv-install"bash -n adv-install
bash tests/run-tests.shIf ShellCheck is installed:
shellcheck adv-installThe test harness uses mocked rish and mocked pm commands. It validates script behavior and cleanup logic without requiring Android, Shizuku, root, or a writable real /data/local/tmp.
Use this project only on devices controlled by you or devices where you are authorized to perform installation and testing.
Do not use this project to install malicious software, interfere with another person's device, conceal unauthorized installation activity, or evade organizational policy on managed devices.
- Android Developer Verification
- Android release notes
- Shizuku
- Shizuku setup guide
- Shizuku downloads
rishdocumentation- Termux app
Distributed under the MIT License. See LICENSE.
This project is not affiliated with, endorsed by, or sponsored by Google, Android, Shizuku, RikkaApps, Termux, or their respective maintainers.
Android is a trademark of Google LLC.
The project is provided without a guarantee that future Android releases, Google Play services updates, manufacturer changes, or Developer Verification policy changes will preserve current behavior.