A root-required Android app + Magisk module for per-app volume control, designed for Android 15 and intended to support older versions where possible.
- Active playback list with per-app volume sliders.
- Preset list with search, quick actions, and import/export.
- Volume-button overlay with per-app sliders (requires overlay permission).
- Quick settings tile + notification action to open the overlay.
- Manage Apps screen to add presets per profile (work/personal).
- Diagnostics screen with permission and hidden API status.
- The app relies on hidden audio APIs to set per-player volume and therefore needs root + privileged installation.
- Volume control is applied per active playback configuration.
- Package name:
fuck.individualappvolumecontrol.droidvendorssuck.
- Build the app APK (see
docs/BUILD.md). - Place the APK at
module/system/priv-app/IndividualAppAudioVolumeControl/IndividualAppAudioVolumeControl.apk.- Magisk installs modules under
/data/adb/modules/<module>/. - This maps to
/data/adb/modules/<module>/system/priv-app/IndividualAppAudioVolumeControl/IndividualAppAudioVolumeControl.apk, which Magisk overlays into the system partition at boot (typically/system/priv-app/or/system_ext/priv-app/).
- Magisk installs modules under
- Zip the
module/folder and install via Magisk (or runmodule/package.sh).
adb uninstall fuck.individualappvolumecontrol.droidvendorssuck
If installed as a privileged app via Magisk and you want to remove it only for user 0:
adb shell pm uninstall --user 0 fuck.individualappvolumecontrol.droidvendorssuck
- Core service, UI controls, diagnostics screen, and Magisk module packaging script in place.
app/: Android app (system/privileged app)module/: Magisk module that installs the app as a system-privileged appdocs/: design, research, and build notesdocs/COMPATIBILITY.md: device testing matrixdocs/PRESETS.md: preset export/import formatTODO.md: prioritized tasksSTATUS.md: current work log