Skip to content

austinsager/adv-install

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

adv-install

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.

Quick start

  1. Install Termux and Shizuku on your Android device.
  2. Start Shizuku using wireless debugging.
  3. Export rish and rish_shizuku.dex from Shizuku.
  4. Follow the full setup guide in docs/installation.md.
  5. Install a local APK:
adv-install "/storage/emulated/0/Download/application.apk"

Workflow

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

What adv-install does

adv-install:

  • accepts a local .apk, .apks, .xapk, .zip, or directory of split APKs;
  • verifies that rish returns Android shell UID 2000;
  • stages APK files under /data/local/tmp;
  • validates staged byte counts;
  • calls pm install or pm install-multiple through rish;
  • removes local and remote temporary files after success, failure, or interruption.

Usage examples

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.

Documentation

Non-goals

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.

Install from this repository

After cloning:

install -m 755 adv-install "$PREFIX/bin/adv-install"
hash -r

Then verify:

command -v adv-install
bash -n "$PREFIX/bin/adv-install"

Test

bash -n adv-install
bash tests/run-tests.sh

If ShellCheck is installed:

shellcheck adv-install

The 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.

Responsible use

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.

Official references

License

Distributed under the MIT License. See LICENSE.

Disclaimer

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.

About

On-device ADB-style APK installation using Termux, Shizuku, rish, and Android shell identity for Developer Verification-era workflows.

Topics

Resources

License

Contributing

Security policy

Stars

20 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages