What does App Manager Tech do?
Every feature of a modern app manager — no ads, no trackers, no Internet. Your usage data stays on your phone, period.
Full inventory
List of every installed app with size (install + data + cache), install date, last used, source (Play / F-Droid / Aurora / sideload), granted vs declared permissions, SHA-256 fingerprint of the signing certificate.
Smart cleaner
Merges into a single ranked list: zombie apps (never opened), large caches, big rarely-used apps and duplicates by category. 60 seconds of attention = the biggest wins first.
Tracker detection
Local Exodus Privacy-style scan : 44 known trackers (AdMob, Google Analytics, Crashlytics, Facebook, AppsFlyer…) detected in the components declared by each app. Offline JSON bundled in, zero network calls.
Privacy score
0–100 heuristic per app : penalty for each dangerous permission, +20 if DEVICE_ADMIN, +15 if SYSTEM_ALERT_WINDOW, +10 if INTERNET… and bonus if installed from F-Droid. You see at a glance which app is "light" or "invasive".
Security audit
Lists apps with elevated OS privileges : device administrators (can block their own uninstall) and accessibility services (can read the screen and inject input). Classic abuse vectors — check them periodically.
Trash
You can move an app to the trash before uninstalling it for good : review it, restore it if needed, or confirm the system uninstall. 3 choices on the Uninstall button : Cancel / Trash / Uninstall now.
Permission tracking
Append-only history of every permission grant or revoke (Room v4). The daily worker compares the current snapshot to the previous one and records each drift. You see at a glance when an app expanded its access — without anyone telling you.
Quarantine
Two modes : SOFT (flags the app for a reminder later) and HARD (uninstall with APK backup via SAF). The worker periodically checks expirations. The APK is restorable if you change your mind.
Protected apps
Critical-app detector : 2FA authentication, banking, password managers, system apps. Any destructive action on these apps triggers a warning dialog with a 3-sec hold confirmation, anti pocket-tap.
Rarely used apps
Lists apps unopened for 7 / 14 / 30 / 60 / 90 / 180 days (configurable threshold). Sorted by date to show you the ones that have been dormant the longest first.
Zombie apps
Apps installed for more than 7 days and never opened, or unused for more than 30 days. Shown with their size : ideal uninstall candidates.
Filter by permission
Type an Android permission (CAMERA, LOCATION, RECORD_AUDIO, READ_CONTACTS…) and the app lists every app that declares it. Shortcut chips for the 8 most sensitive permissions. "Granted only" toggle.
Storage analyzer
Overview by category (games, video, audio…) with stacked bars, top N largest apps, top N biggest caches. Rescan button to refresh.
Batch actions
Long-press on an app to enter multi-select mode. "Select all" button in 1 tap from the top bar. Uninstall, clear cache, force-stop — each one with a red or blue confirmation dialog depending on destructiveness.
Exclusion list
Whitelist of apps you never want to see in batch actions or threshold notifications. 500-entry cap. Re-enable in 1 tap.
JSON / CSV export
Full catalog report exported via the Android file picker (SAF). No MANAGE_EXTERNAL_STORAGE permission required.
PDF diagnostic report
Printable A4 PDF that summarizes the current state of the phone as AMT sees it. Included sections : device + Android + internal-storage profile, AMT version + signature, full inventory of user-installed apps, sensitive permissions granted per app, sideloaded apps (outside Play / F-Droid / Aurora), Device Admin and Accessibility access, problem summary (zombies, inactive ≥ 60 days, large ≥ 200 MB, sideloaded), and the last 200 lifecycle events. What it is NOT : no external analysis, no automatic judgment, no recommendation, no network upload, no remote database. It is a 100 % local compilation of the data AMT has already collected, laid out on 5 to 10 A4 pages — useful to share with a support technician or to archive the state before a factory reset.
Cache notification
Periodic background scan (daily / weekly / off) via WorkManager that refreshes the catalog and sends a single local notification when the total cache exceeds your threshold.
Full transparency
A dedicated screen exhaustively lists : what the app reads on your device, what it stores locally, what it sends (nothing — no Internet permission). No third-party SDK, no tracker, no crash reporter.
Premium design
Interface inspired by Read Files Tech : bottom navigation Home / Tools, tools grid as cards with shadows, vivid colored icons (WCAG AA), ElevatedCard cards. Optional GitHub Primer-style dark theme.
Material You + themes
Light, dark, or follow system. Material You (dynamic palette from the wallpaper) disabled by default — the brand stays consistent. Enable it in Settings if you prefer.
French + English
UI localized FR/EN, strict parity across all strings. Follows the system language ; no manual toggle inside the app.
Zero ads, zero trackers
No analytics, no third-party SDK, no crash reporter that uploads, no advertising library. No INTERNET permission declared — Android prevents the app from opening a network socket, at the OS level.
Screenshots








Privacy & permissions
| Permission | Why |
|---|---|
QUERY_ALL_PACKAGES | Enumerate all installed apps via PackageManager (core feature). |
PACKAGE_USAGE_STATS | Read last-used dates (UsageStatsManager) and cache/data sizes (StorageStatsManager). Must be granted in Android Settings → Usage data. Without it, sizes show 0 ; everything else works. |
REQUEST_DELETE_PACKAGES | Launch the system uninstall dialog. Android asks for the final confirmation. |
KILL_BACKGROUND_PROCESSES | Stop an app's background processes (best-effort, does not work on foreground services without root). |
RECEIVE_BOOT_COMPLETED | Reschedule WorkManager periodic scan after reboot. |
POST_NOTIFICATIONS | Show the single "cache threshold exceeded" notification. |
INTERNET | Not declared. The app cannot open a network socket — Android blocks it at the OS level. |
MANAGE_EXTERNAL_STORAGE | Not declared. Everything goes through the Storage Access Framework (Android file picker). |
Usage data — the toggle to enable
App Manager Tech needs a single system authorization to work fully : usage-data access. Without it, the inventory works, but cache/data sizes and last-used dates show 0.
How to grant it
- Open App Manager Tech.
- On the home page, tap the "Grant usage access" banner.
- Android opens the "Usage data" list. Find App Manager Tech in the list (the app asks Android to place it at the top, but some brands like Samsung One UI may ignore it).
- Toggle App Manager Tech on. That one only — no need to enable the others.
- Go back into App Manager Tech. Sizes show automatically.
Why there's no "enable all" button
The "Usage data" screen is an Android system screen managed by Google. No third-party app (ours or any other) can add an "enable all" button to it — it's locked down on purpose for security. Otherwise, a malicious app could enable usage-history access for all your other apps in a single action. The only toggle is the one for App Manager Tech.
Architecture & tech stack
| Block | Choice |
|---|---|
| Language | Kotlin 2.1.0 native (not Flutter, not Compose Multiplatform) |
| UI | Jetpack Compose Material 3 (BOM 2024.12.01) + Navigation Compose |
| DI | Hilt 2.55 via KSP (not kapt) |
| Persistence | Room 2.6.1 (schema v4, additive migrations, MigrationTest for each bump) + DataStore Preferences |
| Concurrency | Coroutines + Flow + StateFlow.WhileSubscribed |
| Background | WorkManager 2.10.0 with HiltWorker (on-demand init) |
| Images | Coil 2.7.0 (Apache 2.0) |
| Logs | Timber 5.0.1 (DebugTree in debug, NoOp tree in release) |
| Trackers | Bundled offline JSON (44 Exodus-style trackers) |
| Build | AGP 8.7.3, JDK 17, Gradle 8.11.1, R8 minify + 3 ABI splits (~2 MB per APK) |
| License | Apache License 2.0 |
| Sources | github.com/gitubpatrice/APP-MANAGER-TECH |
| F-Droid | MR currently under review (!38925) |