Папка Android SDK занимает много места на диске. Нужно ли нам хранить все образы системы?

248

В папке android sdk на моем диске много системных образов . я вряд ли использую эмулятор. Может быть один раз в 6 месяцев. Большая часть моей разработки находится непосредственно на устройстве. Я хотел проверить, будет ли удаление системных образов (по крайней мере, для старого APIS, т. Е. <22) влиять на разработку?

Кроме того, папка Google Apis видно ниже. Должен ли я сохранить его для всех версий или только одной из последних достаточно?

введите описание изображения здесь

Снимок экрана выше взят из инструмента WinDirStat. - https://windirstat.net

AndroidMechanic - Вирусный Патель
источник
Спасибо! как насчет папки google_apis .... я тоже могу их удалить? это повлияет на мою отладку на устройстве?
AndroidMechanic - Вирусный Патель
25
Если кому-то было интересно, анализатор дискового пространства на образе называется WinDirStat .
Томаш Зато - Восстановить Монику
4
Примечание: так же просто, как делать du -sh * на Linux!
User3
в Linux, чтобы увидеть самые большие каталоги: du -m ~ / src / android-sdk-linux | sort -n | tail -100
Скотт Стенсланд,
@lijo обновил вопрос
AndroidMechanic - Вирусный Патель

Ответы:

205

Системные образы являются предустановленными операционными системами Android и используются только эмуляторами. Если вы используете свое настоящее устройство Android для отладки, они вам больше не нужны, поэтому вы можете удалить их все.

Самый чистый способ их удаления - использование SDK Manager. Откройте SDK Manager и снимите флажки с этих системных образов, а затем примените.

Также не стесняйтесь удалять другие компоненты (например, старые уровни SDK), которые бесполезны.

frogatto
источник
Спасибо за подробный ответ abforce ... проясняет. Последнее сомнение Папка google_apis, видимая внутри каждой версии Android на снимке экрана выше, также требуется только для системных образов, верно? их тоже можно убрать?
AndroidMechanic - Вирусный Патель
можем ли мы переместить эти файлы на другой диск, если да, то какие настройки необходимо выполнить после перемещения изображений
тот же
@sameer Вы можете переместить его, а затем указать IDE, где находится SDK Manager. Я попробовал это однажды, но это заставило мой Eclipse открываться каждый раз по 5 минут ... удаление системных образов сэкономило мне 40 ГБ на моем SSD!
Demonslay335
В моем менеджере SDK есть много инструментов сборки Android SDK, удаление старых версий может привести к любой ошибке или повлиять на производительность?
Шима Эрфан
140

Вам не нужно сохранять образы системы, если вы не хотите использовать эмулятор на рабочем столе. Наряду с этим вы можете удалить другие ненужные вещи, чтобы очистить место на диске .

Добавление в качестве ответа на мой собственный вопрос, поскольку мне приходилось рассказывать об этом людям в моей команде более чем несколько раз. Отсюда этот ответ в качестве ссылки, чтобы поделиться с другими любопытными.

За последние несколько недель было несколько коллег, которые спрашивали меня, как безопасно избавиться от ненужных вещей, чтобы освободить место на диске (большинство из них были новичками). Я перенаправил их на этот вопрос, но они вернулись ко мне для шагов. Так что для начинающих Android это пошаговое руководство по безопасному удалению ненужных вещей.

Заметка

  • Не слепо удаляйте все непосредственно с диска, который, по вашему мнению, не требуется занимать. Я сделал это один раз, и мне пришлось заново скачать.
  • Убедитесь, что у вас есть список всех активных проектов с эмуляторами (если они есть), а также с уровнями API и инструментами сборки, необходимыми для правильной работы / компиляции.

Во-первых, убедитесь, что вы не собираетесь использовать эмуляторы и всегда будете заниматься разработкой на физическом устройстве. Если вам понадобятся эмуляторы, запишите уровни API и тип эмуляторов, которые вам понадобятся. Не удаляйте их. В остальном выполните следующие действия:

Действия по безопасному удалению ненужных файлов из папки Android SDK на диске

  1. Откройте автономный Android SDK Manager. Чтобы открыть, выполните одно из следующих действий:
  • Нажмите кнопку SDK Manager на панели инструментов в Android Studio или затмение
  • В Android Studio зайдите в настройки и выполните поиск «Android SDK». Нажмите Android SDK -> «Открыть автономный менеджер SDK»
  • В Eclipse откройте меню «Окно» и выберите «Android SDK Manager»
  • Перейдите в каталог android-sdk на вашем компьютере и запустите «SDK Manager.exe».

,

  1. Снимите все пункты, заканчивающиеся на «Образ системы». У каждого уровня API будет больше, чем несколько. Если вы нуждаетесь в них и уже определили список, оставьте их отмеченными, чтобы не потерять их и не нужно перезагружать.

,

  1. Необязательно (может помочь сэкономить немного больше места на диске): чтобы освободить немного больше места, вы также можете полностью снять флажки с ненужных уровней API. Будьте осторожны, чтобы не перезагружать то, что вы фактически используете в других проектах.

,

  1. В конце убедитесь, что у вас есть по крайней мере следующее (проверьте изображение ниже) для оставшихся уровней API, чтобы иметь возможность беспрепятственно работать с вашим физическим устройством.

В конце концов, чистые установленные компоненты Android SDK должны выглядеть примерно так в менеджере SDK.

введите описание изображения здесь

AndroidMechanic - Вирусный Патель
источник
9
Удаление системных образов в менеджере SDK - самое чистое решение. Это должно по крайней мере иметь больше голосов, или даже быть принятым ответом.
Левит
4
Спасибо @Levit, это ответ на мой собственный вопрос, который я опубликовал позже, потому что я думал, что люди выиграют от знания этого подхода. Ответ, который я отметил принятым, - тот, который действительно помог мне тогда.
AndroidMechanic - Вирусный Патель
1
Это было очень полезно, спасибо. Единственное изменение ваших шагов, которое я бы предложил, - это шаг №2. Вы хотите ПРОВЕРИТЬ элементы, которые хотите удалить, а затем нажмите кнопку «Удалить пакеты» в правом нижнем углу. Еще раз спасибо!
Адам Плохер
Большое спасибо, я не знал, что SDK загружал изображения эмулятора (мой Mac плакал, ему не хватало места, пока я не увидел этот пост).
ScarletMerlin
Вопрос « Нужно ли нам хранить все образы системы? », И это не отвечает на этот вопрос.
user34660
8

У меня было 20,8 ГБ в папке C: \ Users \ ggo \ AppData \ Local \ Android \ Sdk \ system-images (6 изображений для Android: - Android-10 - Android-15 - Android-21 - Android-23 - Android-25 - Android-26).

Я сжал папку C: \ Users \ ggo \ AppData \ Local \ Android \ Sdk \ system-images.

Теперь это занимает всего 4,65 ГБ.

C: \ Users \ ОСГУ \ AppData \ Local \ Android \ SDK \ система-изображения

Я не сталкивался с какой-либо проблемой до сих пор ...

Сжатие может варьироваться от 2/3 до 6, иногда гораздо больше:

андроид-10

андроид-23

андроид-25

андроид-26

ГГО
источник
1
как ты сжал это?
KRV
1
щелкните правой кнопкой мыши папку для сжатия (здесь папка system-images) => Свойства => Дополнительно => включить «Сжать содержимое для экономии места на диске» => ОК => Применить => выбрать «Применить изменения к этой папке, подпапкам и файлам» "(должен быть выбран по умолчанию) и нажмите кнопку" ОК ". (может быть лучше выйти из Android Studio и закрыть работающие в данный момент эмуляторы перед сжатием, поскольку некоторые файлы могут быть заблокированы).
Ggo
3
Это повлияет на производительность, поэтому делайте это только для редко используемых файлов (за исключением уже сжатых файлов, таких как фото, видео, zip, jar и т. Д.).
Леон
6

Я рекомендую два шага для решения раздутой проблемы SDK.

Сначала я удалил все версии Android, кроме двух:

  1. Текущая версия, например, 6.0 Marshmallow на момент написания статьи. Эта версия предназначена для тестирования и разработки до последней версии, на которой работают современные телефоны Nexus, а также нескольких других брендов.

  2. Старая версия, например 4.04 Ice Cream Sandwich. Это должно обеспечить совместимость для подавляющего большинства телефонов. Вы теряете некоторые функции более новых версий, но получаете наименьший общий знаменатель совместимости.

Во-вторых, я удалил эмуляторы и сохранил только два вышеупомянутых. Я сказал ему не хранить полное состояние системы на диске, что действительно предупреждает, что вы займете много места, хотя и ускоряет запуск. Просто запустите эмулятор до того, как вы пойдете готовить кофе утром :)

Если это слишком много места, удалите эмуляторы полностью. Подберите пару старых телефонов от Ebay, которые предоставят вам все необходимые тестовые платформы. Они даже не должны быть полностью функциональными - например, многим приложениям не требуется SIM-карта и сотовая связь.

Моя среда Android занимала 32 гигабайта на моем MacBook Air со 128 гигабайтами. Не мог продолжать это делать. Когда-нибудь они сделают терабайтный Macbook Air, но до тех пор должны похудеть.

Blisterpeanuts
источник
Оригинальный вопрос говорит: « Большая часть моей разработки идет непосредственно на устройстве », но для всех нас, кто использует эмулятор, это единственный ответ на вопрос « Нужно ли нам хранить все образы системы? ».
user34660
5

Это минимальный материал, который я оставляю для повседневной разработки под Android (включая рабочий код). Только последние версии от API 25 до API 27 (от Nougat до Android P), и вы можете отлично работать с ним.

  • Чтобы свести к минимуму еще больше, просто оставьте любую из приведенных ниже версий такой же и оставьте более ранние версии, т.е. API 16 с загруженными такими же файлами, как показано ниже.

Снех Пандя
источник
4

Есть способ безопасно удалить системный образ

Зайдите в SDK Manager на панели инструментов:

введите описание изображения здесь

введите описание изображения здесь

Перейти в Android SDK:

введите описание изображения здесь

На вкладке SDK Platforms снимите флажок, с какой платформы вы хотите удалить:

введите описание изображения здесь

Нажмите ОК и подтвердите удаление:

введите описание изображения здесь

Кевин ABRIOUX
источник
1

В дополнение к другим ответам следующий каталог содержит удаляемые системные образы на Mac для Android Studio 2.3.3. Я смог без проблем удалить каталоги android-16 и android-17, потому что у меня не было эмуляторов, которые их использовали. (Я сохранил Android-24, который был в использовании.)

$ pwd
/Users/gareth/Library/Android/sdk/system-images

$ du -h
2.5G    ./android-16/default/x86
2.5G    ./android-16/default
2.5G    ./android-16/google_apis/x86
2.5G    ./android-16/google_apis
5.1G    ./android-16
2.5G    ./android-17/default/x86
2.5G    ./android-17/default
2.5G    ./android-17
3.0G    ./android-24/default/x86_64
3.0G    ./android-24/default
3.0G    ./android-24
 11G    .
Гарет Рэндалл
источник
1

Удалив все эмулятор, когда-нибудь память не будет уменьшена до наших ожиданий. Так что откройте ниже путь упоминания в вашем диске

C: \ Users {Имя пользователя} .android \ АВД

В этой папке AVD вы можете увидеть все AVD, которые вы создали ранее. Поэтому вам нужно удалить все avd, которые уберут все неиспользуемые пробелы, захваченные вашим эмулятором. Чем работает свежий эмулятор у вас работает.

Нарендер Гусейн
источник
0

В этой папке находятся все изображения эмулятора. Если вы не используете эмулятор, вы можете удалить эту папку.

Ахмад Наваз
источник