On-device debloater без root для Android. Безопасно отключайте и удаляйте (для пользователя) предустановленный мусор через Shizuku — без ПК, без ADB-кабеля при каждом действии, без рутирования.
Kotlin · Jetpack Compose (Material3) · MVVM · Shizuku API
- Список всех установленных пакетов с метками и именами пакетов.
- Поиск по названию / package name.
- Фильтры: Все / Системные / Bloat / Пользовательские.
- Эвристическая пометка
Bloat(по известным префиксам OEM/вендоров) иКритичное(защитный список — телефония, SystemUI, провайдеры, Play Services и т.п.). - Множественный выбор (чекбоксы, «выбрать все видимые», сброс).
- Отключить выбранное:
pm disable-user --user 0(обратимо, безопасно по умолчанию). - Удалить для пользователя:
pm uninstall -k --user 0(данные сохраняются, обычно восстановимо черезcmd package install-existing). - Диалог подтверждения с явным предупреждением, если в выборе есть критичные компоненты.
- Индикатор состояния Shizuku (не запущен / нет разрешения / готов) и кнопка запроса доступа.
| Список пакетов | Состояние Shizuku | Подтверждение |
|---|---|---|
![]() |
![]() |
![]() |
Скриншоты — плейсхолдеры. Добавьте реальные изображения в
docs/после первой сборки.
Здесь нужен Android SDK (через Android Studio или command-line tools).
- Установите Android Studio (Koala / 2024.1+).
File → Open→ выберите корень репозитория.- Studio предложит скачать Gradle 8.9 и сгенерировать wrapper — согласитесь, дождитесь sync.
Build → Build APK(s)либо запустите конфигурациюappна устройстве/эмуляторе.
- Сгенерируйте Gradle wrapper (см.
GRADLE_WRAPPER.md):gradle wrapper --gradle-version 8.9 --distribution-type bin
- Укажите путь к SDK в
local.properties(создаётся Studio автоматически; вручную):sdk.dir=/absolute/path/to/Android/Sdk - Соберите debug-APK:
APK появится в
./gradlew assembleDebug # Linux/macOS gradlew.bat assembleDebug # Windows
app/build/outputs/apk/debug/app-debug.apk.
Требования: JDK 17, Android SDK Platform 34, minSdk 26, targetSdk 34,
AGP 8.5.2, Kotlin 2.0.20, Compose BOM 2024.09.
BloatFree выполняет привилегированные команды через Shizuku — приложение, дающее обычным приложениям доступ уровня ADB без root.
- Установите Shizuku (Google Play / GitHub:
RikkaApps/Shizuku). - Запустите службу Shizuku одним из способов:
- Беспроводная отладка (Android 11+, без ПК): включите «Беспроводную отладку» в параметрах разработчика и стартуйте Shizuku из самого приложения.
- ADB с ПК (один раз до перезагрузки):
adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh
- Root (если есть) — Shizuku стартует сам.
- Откройте BloatFree → в карточке состояния нажмите «Выдать разрешение» и подтвердите запрос Shizuku.
- После перезагрузки устройства службу Shizuku нужно запускать заново (ограничение ADB-режима).
Отключение и удаление системных приложений может привести к некорректной работе устройства, бутлупу, потере функций (звонки, камера, уведомления), проблемам с обновлениями OTA и гарантией.
- Отключать безопаснее, чем удалять.
pm disable-userобратимо:pm enable. - Удаление выполняется только для текущего пользователя (
--user 0) и с сохранением данных (-k). Обычно восстановимо:cmd package install-existing <package>или переустановка из магазина. Полное удаление в общем случае необратимо без factory reset. - Приложение помечает критичные пакеты как «Критичное» и предупреждает при их выборе, но не гарантирует полноту защитного списка. Решение и риск — на пользователе.
- Делайте это на свой страх и риск. Перед массовыми операциями зафиксируйте список изменений и при возможности сделайте бэкап.
- Авторы и контрибьюторы не несут ответственности за повреждённые устройства/данные.
Проект бесплатный и open source. Если он вам помог — спасибо за поддержку. Адреса ниже — заглушки-плейсхолдеры; замените на свои реальные перед публикацией.
| Сеть | Адрес (заглушка) | QR |
|---|---|---|
| BTC | bc1qexampleexampleexampleexampleexample0000 |
![]() |
| ETH (ERC-20) | 0x0000000000000000000000000000000000000000 |
![]() |
| USDT (TRC-20) | TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
![]() |
- Всегда проверяйте адрес из официального источника (этот README в основном репозитории, релизы с подписью). Не доверяйте адресам из форков/скриншотов/чатов.
- Сверяйте сеть: USDT существует в разных сетях — здесь указан TRC-20. Отправка в другой сети может привести к потере средств.
- Криптопереводы необратимы — перепроверяйте адрес целиком (первые и последние символы легко подменить).
- Сопровождающие никогда не пишут первыми с просьбой о переводе и не присылают «новые» адреса в личку. Любой такой контакт — почти наверняка мошенничество.
- Донат — добровольный дар, а не покупка функций/поддержки и не инвестиция.
app/src/main/java/app/bloatfree/
├─ BloatFreeApp.kt # Application
├─ MainActivity.kt # Compose host + Shizuku lifecycle (register/unregister)
├─ data/
│ ├─ ShizukuManager.kt # binder/permission, exec pm-команд через Shizuku.newProcess
│ └─ PackageRepository.kt # список пакетов + эвристики bloat/protected
└─ ui/
├─ MainUiState.kt # immutable UiState + фильтры (MVVM)
├─ MainViewModel.kt # AndroidViewModel, StateFlow, корутины (Dispatchers.IO)
├─ MainScreen.kt # экран (state hoisting), диалог подтверждения
├─ theme/Theme.kt # Material3 + dynamic color (Android 12+)
└─ components/ # ShizukuStatusCard, PackageRow (stateless)
Подход: MVVM, Clean-ish. UI получает один MainUiState и отдаёт интенты во ViewModel;
вся блокирующая работа (PackageManager, pm) — на Dispatchers.IO.
MIT © 2026 BloatFree-Android contributors.





