app_debugger_storage Pro
Storage inspector sub-brick for
app_debugger. Adds a Storage tab showing a categorised breakdown of every app data directory. Tap Capture to scan, drill into categories, and Export JSON to share the result. Automatically swapped to a no-op stub in release builds.
Version: 1.0.0
Variables
This brick has no generation-time variables.
Prerequisites
app_debuggerbrick must be installed first (provides thearchipelago:debug_panel_pagessentinel inbootstrap.dart).
Usage
Interactive
archipelago generate app_debugger_storageNon-interactive (CI)
archipelago generate app_debugger_storage --config my_config.jsonGenerated Structure
features/
└── app_debugger_storage/
├── app_debugger_storage_api/
│ └── lib/src/
│ └── models/
├── app_debugger_storage/
│ ├── android/src/main/ # Native Kotlin StorageAnalyzer
│ ├── ios/Classes/ # Sandbox-limited iOS stub
│ └── lib/src/
└── app_debugger_storage_noop/
└── lib/src/Platform Support
| Platform | Behaviour |
|---|---|
| Android | Full directory walk via native Kotlin StorageAnalyzer. Inspects APK, FILES, DATABASES, SHARED_PREFS, CODE_CACHE, internal cache, external cache, external files, and OBB. One level of children per category. |
| iOS | Sandbox-limited stub. Only the app bundle size is available via FileManager. Data, cache, and external directories cannot be inspected due to iOS sandbox restrictions. A note banner is shown in the UI. |
Storage Categories
| Category | Android Path |
|---|---|
appBundle | applicationInfo.sourceDir |
files | context.filesDir |
databases | context.getDatabasePath() |
sharedPrefs | applicationInfo.dataDir/shared_prefs |
codeCache | context.codeCacheDir |
internalCache | context.cacheDir |
externalCache | context.externalCacheDir |
externalFiles | context.getExternalFilesDir(null) |
obb | context.obbDir |
Dependencies Added
share_plus: ^11.0.0(debug impl only)path_provider: ^2.1.5(debug impl only)
Native Plugin
The Android plugin (AppDebuggerStoragePlugin) registers MethodChannel('archipelago/app_debugger_storage') via the FlutterPlugin interface. The iOS plugin registers the same channel and returns a sandbox-limited response.
Android: File Sharing
The export feature uses share_plus, which auto-registers a FileProvider in its own AndroidManifest. Manifest merger combines this with your app's manifest automatically — no manual setup needed for typical Flutter apps.
build_prepare Swap
- debug: app_debugger_storage
release: app_debugger_storage_noop