Android SDK文件夹占用大量磁盘空间。我们是否需要保留所有系统映像?


247

这里有大量的系统映像的我在Android SDK文件夹盘上堆放。我几乎不使用模拟器。可能是6个月一次。我的大部分开发工作都直接在设备上进行。我要检查的是,删除系统映像(至少对于旧的APIS,即<22)是否会影响开发?

另外,如下所示的google apis文件夹。我应该保留所有版本还是仅保留最新版本中的一个?

在此处输入图片说明

上面的截图来自WinDirStat工具。- https://windirstat.net


谢谢!那google_apis文件夹....我也可以删除那些吗?这会影响我在设备上的调试吗?
AndroidMechanic-Viral Patel

25
如果有人感兴趣,则映像上的磁盘空间分析器称为WinDirStat
托马什Zato -恢复莫妮卡

4
旁注:就像在Linux机器上做du -sh *一样简单!
User3

在Linux上查看最大的目录:du -m〜/ src / android-sdk-linux | sort -n | tail -100
Scott Stensland

@lijo更新了问题
AndroidMechanic-Viral Patel

Answers:


204

系统映像是预安装的Android操作系统,仅供仿真器使用。如果您使用真正的Android设备进行调试,则不再需要它们,因此可以将其全部删除。

删除它们的最干净的方法是使用SDK Manager。打开SDK Manager,然后取消选中那些系统映像,然后应用。

也可以随意删除其他无用的组件(例如,旧的SDK级别)。


感谢您提供详细的答案abforce ...使其清晰。最后一个疑问。上面屏幕截图中每个android版本内的google_apis文件夹也仅是系统映像所必需的吗?他们也可以删除吗?
AndroidMechanic-Viral Patel

我们可以对这些文件移动到不同的驱动器,如果是,那么什么都设置需要做运动后的图像
萨米尔

@sameer您可以移动它,然后将您的IDE指向SDK Manager所在的位置。我尝试了一次,但是每次打开Eclipse都要花5分钟时间……删除系统映像后,我在SSD上节省了40GB!
Demonslay335

我的sdk管理器中有许多Android SDK Build-tools,删除旧版本可能会导致任何错误或影响性能吗?
Shima Erfan

140

除非要在桌面上使用仿真器,否则不需要保留系统映像。连同它,您可以删除其他不需要的东西以清除磁盘空间

作为我自己问题的答案,因为我不得不多次向团队中的人讲述这个问题。因此,此答案作为与其他好奇者分享的参考。

在过去的几周中,有几位同事问我如何安全地清除不需要的东西以释放磁盘空间(其中大多数是初学者)。我将他们重定向到这个问题,但他们又回来找我了。因此,对于android初学者来说,这是一个逐步指南,可安全删除不需要的内容。

注意

  • 不要盲目地从不需要“占用”的磁盘上直接删除所有内容。我曾经做过一次,所以不得不重新下载。
  • 确保您具有所有活动项目的列表,其中包括模拟器的类型(如果有)以及API级别和构建工具,以使这些项目继续正常工作/编译。

首先,请确保您不会使用仿真器,并且将始终在物理设备上进行开发。如果您需要仿真器,请记下所需的API级别和仿真器类型。不要删除那些。对于其余的,请按照以下步骤操作:

从磁盘上的Android SDK文件夹中安全清除不需要的内容的步骤

  1. 打开独立的Android SDK管理器。要打开,请执行以下任一操作:
  • 单击android studio或Eclipse中工具栏上的SDK Manager按钮
  • 在Android Studio中,转到设置并搜索“ Android SDK”。单击Android SDK->“打开独立SDK管理器”
  • 在Eclipse中,打开“窗口”菜单,然后选择“ Android SDK Manager”
  • 导航到计算机上android-sdk目录的位置,然后运行“ SDK Manager.exe”

  1. 取消选中所有以“系统映像”结尾的项目。每个API级别都有多个。万一您需要一些清单,并且已经弄清了清单,以免丢失它们并不得不重新下载。

  1. 可选(可能有助于节省更多的磁盘空间):要释放更多空间,您还可以完全取消选中不需要的API级别。再次小心,避免重新下载您在其他项目中实际使用的内容。

  1. 最后,对于其余的API级别,请确保至少具有以下内容(下面的检查图),以便能够与您的物理设备无缝地协同工作。

最后,在SDK管理器中,干净的android sdk安装组件应该看起来像这样。

在此处输入图片说明


9
在SDK管理器中删除系统映像是最干净的解决方案。这至少应该有更多的支持,甚至是可以接受的答案。
莱维特

4
谢谢@Levit,这是对我自己的问题的解答,稍后我发布了该问题,因为我认为人们将从这种方法中受益。我标记为接受的答案是那个时候实际上对我有帮助的答案。
AndroidMechanic-Viral Patel

1
这非常有帮助,谢谢。我建议对您的步骤进行的唯一修改是步骤2。您要检查要删除的项目,然后单击右下角的“删除软件包”按钮。再次感谢!
亚当·普洛彻

非常感谢,我不知道sdk正在下载仿真器图像(我的mac哭了,直到我看到这篇文章,它的空间都用完了)。
ScarletMerlin

问题是“ 我们是否需要保留所有系统映像? ”,但这不能回答该问题。
user34660

8

我在C:\ Users \ ggo \ AppData \ Local \ Android \ Sdk \ system-images文件夹中有20.8 GB(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 GB。

C:\ Users \ ggo \ AppData \ Local \ Android \ Sdk \ system-images

到目前为止,我还没有遇到任何问题...

压缩似乎从2/3到6,有时甚至更多:

安卓10

android-23

android-25

安卓26


1
您是如何压缩的?
krv

1
右键单击要压缩的文件夹(此处为system-images文件夹)=>属性=>高级=>启用“压缩内容以节省磁盘空间” =>确定=>应用=>选择“将更改应用于此文件夹,子文件夹和文件(默认情况下应选中),然后单击确定。(也许最好退出Android Studio并在压缩前关闭当前运行的模拟器,因为某些文件可能已锁定)。
ggo

3
这将影响性能,因此仅对很少使用的文件(不包括已压缩的文件,如照片,视频,zip,jar等)执行此操作。
里昂,

6

我建议采取两个步骤来解决过大的SDK问题。

首先,我删除了除两个版本以外的所有Android版本:

  1. 当前版本,例如撰写本文时的6.0棉花糖。此版本旨在测试和开发最新,最强大的Nexus手机,以及其他几个品牌。

  2. 较旧的版本,例如4.04 Ice Cream Sandwich。这是为了为绝大多数手机提供兼容性。您失去了较新版本的某些功能,但是兼容性的最低标准是。

其次,我删除了模拟器,仅保留了以上两个。我告诉它不要将完整的系统状态存储到磁盘,确实会警告您会占用很多空间,尽管这样做确实可以加快启动速度。早晨启动咖啡前,只需启动模拟器即可:)

如果空间太大,请完全删除模拟器。在Ebay上购买几部较旧的手机,它将为您提供所需的所有测试平台。它们甚至不必完全发挥功能-例如,许多应用程序不需要SIM卡和蜂窝连接。

我的Android环境在我的128兆Macbook Air上占用了32个演出。无法继续这样做。有朝一日,他们将制造TB级的Macbook Air,但在那之前,它们必须精简。


最初的问题确实说“ 我的大部分开发都是直接在设备上进行的。 ”但是对于使用仿真器的我们所有人来说,这是对“ 我们是否需要保留所有系统映像? ” 这一问题的唯一答案。
user34660

5

这是我每天用于Android开发(包括生产代码)的最少内容。仅包含从API 25到API 27(从牛轧糖到Android P)的最新版本,并且您可以使用它。

  • 为了最大程度地减少数量,只需将以下任何一个版本保持相同,并保持较低的版本,即API 16,并按如下所示下载相同的文件。


4

有办法安全删除系统映像

进入工具栏中的SDK Manager:

在此处输入图片说明

在此处输入图片说明

进入Android SDK:

在此处输入图片说明

在“ SDK平台”标签中,取消选中要取消安装的平台:

在此处输入图片说明

单击确定并确认删除:

在此处输入图片说明


1

除其他答案外,以下目录还包含适用于Android Studio 2.3.3的Mac上的可删除系统映像。我能够删除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盘中打开以下提及路径

C:\ Users {Username} .android \ avd

在此avd文件夹中,您可以查看之前创建的所有avd。因此,您需要删除所有avd,这些avd会删除模拟器的所有未使用空间。比为您的作品创建新鲜的模拟器。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.