有很多系统映像堆积在我的磁盘上的android sdk文件夹。我几乎不用模拟器。可能6个月一次。我的大部分开发都是直接在设备上进行的。我想检查的是,移除系统映像(至少对于旧的api,即< 22)会影响开发吗?

另外,谷歌api文件夹如下所示。我应该保留它的所有版本,还是只有一个在最新的足够?

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


当前回答

除了其他答案之外,以下目录还包含Mac for 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    .

其他回答

您不需要保留系统映像,除非您想在桌面上使用模拟器。与此同时,您可以删除其他不需要的东西,以清理磁盘空间。

作为我自己的问题的答案,因为我已经多次向我的团队成员讲述了这个问题。因此,这个答案可以作为参考,与其他好奇的人分享。

在过去的几周里,有几个同事问我如何安全地摆脱不需要的东西来释放磁盘空间(他们大多数是初学者)。我把他们引向了这个问题,但他们还是回到了我这里。因此,对于android初学者,这里有一个一步一步的指南,可以安全地删除不需要的东西。

Note

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

首先,确保您不会使用模拟器,并且总是会使用模拟器 在物理设备上进行开发。以防你需要 仿真器,记下API级别和你需要的仿真器类型。 不要移除这些。其余的请按照以下步骤进行:

安全清除磁盘上Android SDK文件夹中不需要的东西的步骤

打开独立Android SDK管理器。 要打开,请执行以下操作之一:

在android studio或eclipse中单击工具栏上的SDK管理器按钮 在Android Studio中,进入设置,搜索“Android SDK”。点击Android SDK ->“打开独立SDK管理器” 在Eclipse中,打开“窗口”菜单,选择“Android SDK管理器” 导航到您计算机上的android-sdk目录的位置,并运行“SDK Manager.exe”

.

取消勾选所有以“系统映像”结尾的项目。每个API级别将有多个。如果你需要一些,并且已经计算出列表,请选中它们,以避免丢失它们,并不得不重新下载。

.

可选(可能有助于稍微节省更多的磁盘空间):To 释放一些空间,你也可以完全取消不需要的API级别。 再次注意,避免重新下载你实际上正在下载的东西 在其他项目中使用。

.

最后,确保你至少有以下(检查下图)的剩余 API级别,以便能够无缝地与物理设备一起工作。

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

系统映像是预先安装的Android操作系统,仅供模拟器使用。如果你使用真正的Android设备进行调试,你就不再需要它们了,所以你可以将它们全部删除。

删除它们最简单的方法是使用SDK管理器。打开SDK管理器,取消勾选这些系统图像,然后应用。

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

有安全删除系统映像的方法

进入SDK管理器工具栏:

进入Android SDK:

在SDK平台选项卡中,取消选择要卸载的平台:

单击“确定”并确认删除:

除了其他答案之外,以下目录还包含Mac for 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    .

我推荐两个步骤来解决庞大的SDK问题。

首先,我删除了所有Android版本,只留下两个版本:

在撰写本文时,当前版本,例如6.0 Marshmallow。 这个版本是为了测试和开发到目前Nexus手机和其他几个品牌运行的最新和最好的版本。 旧版本,例如4.04冰淇淋三明治。 这是为绝大多数手机提供兼容性。您失去了新版本的一些功能,但获得了最低的兼容性公分母。

其次,我删除了模拟器,只保留了上面两个。我告诉它不要将完整的系统状态存储到磁盘上,它确实会警告您这样做会占用大量空间,尽管这样确实会加快启动速度。在你早上去煮咖啡之前启动模拟器:)

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

我的Android环境在128g的Macbook Air上占用了32g的空间。不能再这样下去了。总有一天他们会生产出千兆字节的Macbook air,但在那之前,他们必须瘦身。