Skip to content

DuminAndrew/BloatFree-Android

BloatFree-Android

CI License: MIT Platform Kotlin

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 Подтверждение
placeholder placeholder placeholder

Скриншоты — плейсхолдеры. Добавьте реальные изображения в docs/ после первой сборки.


Сборка

Здесь нужен Android SDK (через Android Studio или command-line tools).

Вариант A — Android Studio (рекомендуется)

  1. Установите Android Studio (Koala / 2024.1+).
  2. File → Open → выберите корень репозитория.
  3. Studio предложит скачать Gradle 8.9 и сгенерировать wrapper — согласитесь, дождитесь sync.
  4. Build → Build APK(s) либо запустите конфигурацию app на устройстве/эмуляторе.

Вариант B — командная строка

  1. Сгенерируйте Gradle wrapper (см. GRADLE_WRAPPER.md):
    gradle wrapper --gradle-version 8.9 --distribution-type bin
  2. Укажите путь к SDK в local.properties (создаётся Studio автоматически; вручную):
    sdk.dir=/absolute/path/to/Android/Sdk
  3. Соберите debug-APK:
    ./gradlew assembleDebug          # Linux/macOS
    gradlew.bat assembleDebug        # Windows
    APK появится в 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.


Настройка Shizuku

BloatFree выполняет привилегированные команды через Shizuku — приложение, дающее обычным приложениям доступ уровня ADB без root.

  1. Установите Shizuku (Google Play / GitHub: RikkaApps/Shizuku).
  2. Запустите службу Shizuku одним из способов:
    • Беспроводная отладка (Android 11+, без ПК): включите «Беспроводную отладку» в параметрах разработчика и стартуйте Shizuku из самого приложения.
    • ADB с ПК (один раз до перезагрузки):
      adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh
    • Root (если есть) — Shizuku стартует сам.
  3. Откройте BloatFree → в карточке состояния нажмите «Выдать разрешение» и подтвердите запрос Shizuku.
  4. После перезагрузки устройства службу Shizuku нужно запускать заново (ограничение ADB-режима).

ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ О РИСКАХ

Отключение и удаление системных приложений может привести к некорректной работе устройства, бутлупу, потере функций (звонки, камера, уведомления), проблемам с обновлениями OTA и гарантией.

  • Отключать безопаснее, чем удалять. pm disable-user обратимо: pm enable.
  • Удаление выполняется только для текущего пользователя (--user 0) и с сохранением данных (-k). Обычно восстановимо: cmd package install-existing <package> или переустановка из магазина. Полное удаление в общем случае необратимо без factory reset.
  • Приложение помечает критичные пакеты как «Критичное» и предупреждает при их выборе, но не гарантирует полноту защитного списка. Решение и риск — на пользователе.
  • Делайте это на свой страх и риск. Перед массовыми операциями зафиксируйте список изменений и при возможности сделайте бэкап.
  • Авторы и контрибьюторы не несут ответственности за повреждённые устройства/данные.

Поддержать проект (крипто-донаты)

Проект бесплатный и open source. Если он вам помог — спасибо за поддержку. Адреса ниже — заглушки-плейсхолдеры; замените на свои реальные перед публикацией.

Сеть Адрес (заглушка) QR
BTC bc1qexampleexampleexampleexampleexample0000 BTC QR placeholder
ETH (ERC-20) 0x0000000000000000000000000000000000000000 ETH QR placeholder
USDT (TRC-20) TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX USDT QR placeholder

Безопасность донатов

  • Всегда проверяйте адрес из официального источника (этот 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.

About

Debloat Android without root using Shizuku. Jetpack Compose, MVVM. Safely disable/remove bloatware (disable-user by default).

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages