Agent skill · software engineering · aradotso

anubis-android-app-manager

Android app manager with VPN integration that freezes/unfreezes app groups based on VPN connection state using Shizuku's pm disable-user

Why this skill is useful

Provides specific integration patterns and commands for managing Android app states based on VPN connectivity that are not widely known.

What it needs

Requires shizuku installed locally. About 7k tokens when loaded. Last updated 2026-07-09. 70 stars on the source repository.

What this skill does

Anubis Android App Manager Skill by ara.so — Daily 2026 Skills collection. Anubis is an Android app manager that uses Shizuku to completely disable (pm disable-user) app groups based on VPN connection state. Unlike sandboxing solutions (Island, Shelter), disabled apps cannot run code, access network interfaces, or detect VPN presence at all. Core Concepts Group Policy Behavior --- --- Local Frozen when VPN is active; runs without VPN VPN Only Frozen when VPN is inactive; runs through VPN Launch with VPN Never frozen; launching triggers VPN activation Requirements Android 10+ (API 29) Shizuku installed and running At least one VPN client installed Setup 1. Install and start Shizuku (via ADB or Wireless Debugging): 2. Install Anubis APK 3. Grant Shizuku permission when prompted 4. Grant VPN permission when prompted (needed for dummy VPN disconnect) 5. Go to Apps tab → assign apps to groups 6. Select VPN client in Settings 7. Toggle stealth mode on Home screen Building Create signing.properties in project root for release builds: Tech Stack Kotlin + Jetpack Compose (Material 3) Shizuku API 13.1.5 (AIDL UserService pattern) Room database with TypeConverters for app groups ConnectivityManager NetworkCallback for VPN state monitoring ShortcutManager for pinned shortcuts Project Structure Room Database: App Groups Shizuku Integration (AIDL UserService Pattern) Define the AIDL interface: Implement the UserService: Bind to the UserService: VPN State Monitoring VPN Client Control Start/stop VPN via shell: Detecting Active VPN Client Adding a Custom VPN Client Use APK analysis to discover broadcast actions: 1. Open APK in jadx 2. Resources → find appwidgetname in strings.xml 3. Manifest → find <receiver> with android.appwidget.provider metadata 4. Receiver code → find setAction("...") calls 5. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aradotso/anubis-android-app-manager

View the source on GitHub

Browse the @skills marketplace