Где на самом деле живут гигабайты
Дисковый аппетит Android расползается на четыре территории, и знать пути важно, потому что IDE управляет лишь одной из них. SDK живёт в %LOCALAPPDATA%\Android\Sdk, виртуальные устройства эмулятора — в %USERPROFILE%\.android\avd, а Gradle — в %USERPROFILE%\.gradle; у каждого свои правила чистки и свой способ укусить при слепом удалении.
Худший нарушитель — системные образы SDK: каждая комбинация «версия Android × архитектура CPU», которую вы когда-либо принимали, весит один-два гигабайта и хранится вечно. Дальше идут AVD эмулятора: одно виртуальное устройство со снапшотами и qcow2-диском легко переваливает за 10 ГБ. Кэши Gradle копят каждую зависимость, которую хоть один проект когда-либо скачивал, а сборочные папки build/ в каждом проекте обрастают промежуточными файлами, о которых вы давно забыли.
- %LOCALAPPDATA%\Android\Sdk\system-images — каждая когда-либо загруженная пара «версия Android + ABI», по 1–2 ГБ
- %USERPROFILE%\.android\avd — образы эмулятора; одно AVD со снапшотами и qcow2-дисками легко переваливает за 10 ГБ
- %USERPROFILE%\.gradle\caches — все зависимости всех ваших проектов, безопасно пересобираемые и нередко 20 ГБ+
- %USERPROFILE%\.gradle\wrapper\dists — каждая версия Gradle, которую хоть один проект запрашивал, примерно по 150 МБ
- build/ и .gradle/ внутри каждого проекта — промежуточные файлы, которые можно удалять в любой момент
- %LOCALAPPDATA%\Google\AndroidStudio* — собственные индексы, логи и кэши IDE, возрождающиеся после каждого обновления
Что удалять можно, а что — никогда
Удаляйте через экраны менеджеров там, где они есть. В SDK Manager сносите системные образы и старые build-tools для версий Android ниже вашего minSdk — он обновит метаданные и сохранит согласованность SDK. В Device Manager удаляйте AVD, которыми больше не пользуетесь, а для глючного устройства выбирайте Wipe Data в его выпадающем меню: сброс к заводскому состоянию вместо хранения 10-гигабайтного ископаемого.
Кэши Gradle можно сносить целиком — следующая сборка скачает нужное заново, и вы платите временем и трафиком, а не поломкой. То же с build-папками проектов, поэтому архивирование проекта заслуживает предварительной зачистки build/. А вот %USERPROFILE%\.android целиком не трогайте никогда: там лежат ваш отладочный keystore и ключи adb, а потеря debug keystore означает переустановку всех debug-сборок на каждом вашем устройстве.
Как не обрасти заново
Заведите три привычки. Когда minSdk поднимается — потратьте пять минут в SDK Manager на выпиливание версий ниже него. Держите один актуальный образ эмулятора на форм-фактор вместо пяти и предпочитайте Wipe Data снапшотам, когда нужно просто свежее устройство. Если диск C: под давлением — перенесите SDK через Settings → Languages & Frameworks → Android SDK и направьте GRADLE_USER_HOME на другой диск.
Повторяющиеся хвосты — кэши Gradle, кэши и логи IDE, сборочные папки проектов — стоит подчищать пару раз в год. Инструмент, знающий папки разработчика, например категория dev-caches в Kleaner PRO, вычищает остатки Gradle и IDE за один проход, не трогая keystore; каким бы путём вы ни шли, сначала закройте Studio, чтобы ничего не оказалось заблокировано посреди удаления.
Вопросы и ответы
Можно ли удалять папку кэша Gradle?
Можно — сначала закройте Studio, затем удалите %USERPROFILE%\.gradle\caches. Следующая сборка скачает нужное заново; вы потеряете время, но ничего не сломаете.
Как освободить место от эмуляторов Android?
Откройте в Android Studio Device Manager, удалите неиспользуемые AVD, а для оставшихся выполните Wipe Data — один забытый образ может держать 10 ГБ.
Понятно до покупки: что входит в лицензию
Разовый 30-минутный триал даёт доступ к базовым инструментам. Возможности с меткой PRO остаются закрыты до активации платной лицензии.
Читайте также
Написать нам: [email protected]