Папка SDK для Android займає багато місця на диску. Чи потрібно нам зберігати всі системні зображення?


247

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

Також папка Google Apis, яку ви бачите нижче. Чи повинен я зберігати його для всіх версій або достатньо лише тієї, яка є в останніх?

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

Знімок екрана вище - від інструменту WinDirStat. - https://windirstat.net


Дякую! що з папкою google_apis .... чи можу я їх також видалити? це вплине на мою налагодження на пристрої?
AndroidMechanic - Viral Patel

25
Якщо когось цікавило, аналізатор простору диска на зображенні називається WinDirStat .
Томаш Зато - Відновити Моніку

4
Побічна примітка: Настільки ж просто, як зробити du -sh * у вікні Linux!
Користувач3

в Linux, щоб побачити найбільші dirs: du -m ~ / src / android-sdk-linux | сортувати -n | хвіст -100
Скотт Стенсленд

@lijo оновив питання
AndroidMechanic - Viral Patel

Відповіді:


204

Системні зображення встановлені Android операційні системи, і тільки використовуються емуляторами. Якщо ви використовуєте свій реальний пристрій Android для налагодження, вони більше не потрібні, тому ви можете видалити їх усіх.

Найчистіший спосіб їх видалення - це використання SDK Manager. Відкрийте диспетчер SDK і зніміть прапорці із цих системних зображень, а потім застосуйте.

Також сміливо видаляйте інші компоненти (наприклад, старі рівні SDK), які не потрібні.


Дякуємо за детальну відповідь на відповідь ... дає зрозуміти. Останнє сумнів. Папка google_apis, що міститься у кожній версії Android на знімку екрана, також потрібна лише для зображень системи, правда? їх теж можна зняти?
AndroidMechanic - Viral Patel

ми можемо перемістити ці файли на інший диск, якщо так , то , що всі потреби настройки , щоб бути зроблений пост переміщення зображення
Саміра

@sameer Ви можете перемістити його, а потім вказати свій IDE на те, де знаходиться менеджер SDK. Я спробував це один раз, але це призвело до того, що мій Eclipse зайняв 5 хвилин, щоб щоразу відкриватись ... видалення системних зображень заощадило 40 Гб на моєму SSD!
Demonslay335

У мене в диспетчері sdk є багато інструментів Android SDK Build, видалення старих версій може спричинити помилку або вплинути на продуктивність?
Шима Ерфан

140

Вам не потрібно зберігати системні зображення, якщо ви не хочете використовувати емулятор на робочому столі. Поряд з ним ви можете видалити інші непотрібні речі, щоб очистити місце на диску .

Додаючи як відповідь на моє власне запитання, оскільки мені довелося розповідати це людям своєї команди більше ніж кілька разів. Звідси ця відповідь як посилання, щоб поділитися з іншими цікавими.

В останні кілька тижнів було декілька колег, які запитували мене, як безпечно позбутися від небажаних речей, щоб звільнити місце на диску (більшість з них були початківцями). Я перенаправив їх до цього питання, але вони повернулися до мене за кроками. Тож для андроїд-початківців ось покрокове керівництво щодо безпечного видалення небажаних речей.

Примітка

  • Не видаляйте сліпо все, що безпосередньо з диска, який, на вашу думку, не потрібно займати. Я зробив це один раз і довелося повторно завантажити.
  • Переконайтеся, що у вас є список усіх активних проектів із типом емуляторів (якщо такі є) та інструментами API Level and Build, необхідними для того, щоб вони могли продовжувати працювати / збирати належним чином.

По-перше, будьте впевнені, що не збираєтеся використовувати емулятори, і завжди будете робити їх на фізичному пристрої. Якщо вам потрібні емулятори, запишіть рівні API та тип емуляторів, які вам знадобляться. Не знімайте їх. Для решти виконайте наступні кроки:

Кроки щодо безпечного очищення небажаних речей із папки Android SDK на диску

  1. Відкрийте самостійний диспетчер SDK для Android. Щоб відкрити, виконайте одну з наступних дій:
  • Натисніть кнопку SDK Manager на панелі інструментів в андроїд-студії або затемненні
  • В Android Studio перейдіть до налаштувань та пошукайте "Android SDK". Клацніть SDK для Android -> "Відкрити окремий менеджер SDK"
  • У Eclipse відкрийте меню "Вікно" та виберіть "Android SDK Manager"
  • Перейдіть до місця розташування каталогу Android-sdk на своєму комп’ютері та запустіть "SDK Manager.exe"

.

  1. Зніміть прапорці для всіх елементів, що закінчуються на "Зображення системи". Кожен рівень API матиме декілька. У випадку, якщо вам знадобиться декілька і вияснили, що список вже залишайте їх перевіреними, щоб уникнути їх втрати та необхідності повторного завантаження.

.

  1. Необов’язково (може допомогти зекономити трохи більше місця на диску). Щоб звільнити ще трохи місця, ви також можете повністю зняти прапор непотрібних рівнів API. Знову будьте обережні, щоб уникнути повторного завантаження того, що ви насправді використовуєте в інших проектах.

.

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

Врешті-решт, чисті встановлені на android sdk компоненти повинні виглядати приблизно так у менеджері SDK.

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


9
Видалення системних зображень у менеджері SDK - це найчистіше рішення. Принаймні, це повинно мати більше результатів, або навіть бути прийнятою відповіддю.
Левіт

4
Дякую @Levit, це відповідь на моє власне запитання, яке я опублікував пізніше, тому що думав, що люди отримають користь від знання цього підходу. Відповідь, яку я відзначив прийнятою, - це та, яка мені насправді допомогла.
AndroidMechanic - Viral Patel

1
Це було дуже корисно, дякую. Єдина зміна ваших кроків я б запропонував - це крок №2. Ви хочете перевірити елементи, які ви хочете видалити, а потім натисніть кнопку Видалити пакети внизу праворуч. Знову дякую!
Адам Плочер

Дякую вам, я не знав, що SDK завантажує зображення емуляторів (мій мак плакав, що у нього не вистачає місця, поки я не побачив цю публікацію).
ScarletMerlin

Питання " Чи потрібно нам зберігати всі системні зображення? ", І це не відповідає на це запитання.
користувач34660

8

У папці C: \ Users \ ggo \ AppData \ Local \ Android \ Sdk \ system-images було 20,8 ГБ (6 зображень на андроїд: - android-10 - android-15 - android-21 - android-23 - android-25 - андроїд-26).

Я стиснув папку C: \ Users \ ggo \ AppData \ Local \ Android \ Sdk \ system-images.

Зараз це займає всього 4,65 ГБ.

C: \ Користувачі \ ggo \ AppData \ Local \ Android \ Sdk \ system-images

Я до цього часу не стикався з жодною проблемою ...

Здається, стиснення змінюється від 2/3 до 6, іноді набагато більше:

android-10

android-23

android-25

android-26


1
як ти його стискав?
кров

1
клацніть правою кнопкою миші папку для стиснення (тут папка системних зображень) => Властивості => Додатково => включити "Стиснути вміст, щоб заощадити місце на диску" => ОК => Застосувати => вибрати "Застосувати зміни до цієї папки, папок і файлів "(має бути вибрано за замовчуванням) та натисніть кнопку ОК. (можливо, краще вийти з Android Studio і закрити емулятори, які зараз працюють перед стисканням, оскільки деякі файли можуть бути заблоковані).
ggo

3
Це вплине на продуктивність, тому робіть це лише для рідко використовуваних файлів (виключаючи вже стиснуті файли, такі як фото, відео, zip, jar тощо).
Леон

6

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

По-перше, я видалив усі, крім двох версій Android:

  1. Поточна версія, наприклад, 6.0 зефір на цей час. Ця версія призначена для тестування та розвитку найновішого та найвищого, що нинішні телефони Nexus працюють, а також пара інших брендів.

  2. Старіша версія, наприклад, 4,04 сендвіч з морозивом. Це забезпечує сумісність для переважної більшості телефонів. Ви втрачаєте деяку функціональність нових версій, але отримуєте найменший загальний знаменник сумісності.

По-друге, я видалив емулятори, і зберег лише два вищезгаданих. Я сказав йому, щоб не зберігати повний стан системи на диску, який насправді попереджає, що ви займете багато місця, хоча це запускає швидше. Просто запускайте емулятор, перш ніж вирушати каву вранці :)

Якщо у вас занадто багато місця, видаліть емулятори повністю. Візьміть пару старших телефонів з Ebay, які забезпечать вам усі необхідні тестові платформи. Вони навіть не повинні бути повністю функціональними - наприклад, багатьом програмам не потрібна SIM-мережа та стільниковий зв'язок.

Моє середовище Android сприймало 32 концерти на моєму 128-гігантному Macbook Air. Не могло продовжувати це робити. Якось вони зроблять терабайтні Macbook Airs, але до цього часу їм доведеться худнути.


В оригінальному запитанні написано " Більшість моєї розробки безпосередньо на пристрої ", але для всіх нас, хто використовує емулятор, це єдина відповідь на питання " Чи потрібно нам зберігати всі системні зображення? ".
користувач34660

5

Це мінімальний вміст, який я зберігаю щодня в розробці Android (включаючи виробничий код). Включені лише останні версії від API 25 до API 27 (від Nougat до Android P), і ви можете з ним чудово працювати.

  • Щоб мінімізувати ще більше, просто зберігайте будь-яку з наведених нижче версій як однакову та зберігайте нижчі версії, тобто API 16 із тими ж файлами, що завантажуються як нижче.


4

Існує спосіб безпечно видалити системний образ

Перейдіть у менеджер SDK на панелі інструментів:

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

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

Перейдіть в Android SDK:

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

На вкладці Платформи SDK зніміть прапорці, яку платформу потрібно видалити:

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

Натисніть ОК і підтвердьте видалення:

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


1

На додаток до інших відповідей, наступний каталог містить видалені зображення системи на Mac для Android Studio 2.3.3. Я зміг без проблем видалити каталоги андроїд-16 та андроїд-17, оскільки не мав емуляторів, які їх використовували. (Я зберігав андроїд-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: \ Користувачі {Ім'я користувача} .android \ avd

У цій папці avd ви можете побачити всі створені раніше avd. Тож вам потрібно видалити всі avd, які видалять усі невикористані пробіли, захоплені емулятором. Чим створити для вас свіжий емулятор.


0

У цій папці є всі зображення емулятора. Якщо ви не використовуєте емулятор, ви можете видалити цю папку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.