Android SDK吞噬了我的硬盘;我可以安全删除什么?

时间:2018-08-08 11:36:25

标签: android android-studio cordova-plugins android-sdk-manager

我的应用定位到Android 4.4及更高版本。但是我通过Studio SDK Manager安装了14-25之间的SDK。除非在极少数情况下,否则我不会使用模拟器-但是当我通常使用4.4和5x进行仿真时。但是Android Studio总共占用了我系统上的100 Gb以上的存储空间...我需要减小其大小(占用大量时间)

我可以删除哪些内容,使我仍然可以定位4.4及更高版本?

这个问题已经问了很多遍了,但是我研究的所有内容都没有给出明确的答案。

  1. 如果我删除14-24,并仅使用SDK 25来构建应用程序,我的应用程序是否仍支持Android 4.4?还是我需要保留特定的SDK,以便我的应用仍将支持所有Android 4.4及更高版本?请具体说明,那里有太多模糊的答案。

  2. 我的应用程序是cordova / ionic应用程序-许多插件引用特定版本的SDK-通常基于上次更新插件的时间。但是很多时候这些插件都使用SDK 22或SDK 21进行了测试(主要是因为作者从不费心去更新/维护插件-但它仍然可以使用)-如果删除了SDK 14-24,并且只有SDK,这些插件是否仍然可以使用? 25已安装?

  3. 如上所述,我有时需要针对特定​​系统映像的仿真器;代替问题#1-如果我想尝试启动Android 4.4仿真器,我还需要保留特定的SDK来支持这些系统映像。

  4. 使用Android Studio SDK管理器-通过管理器删除特定的SDK是否还会从硬盘驱动器中删除内容?我以为会,但是我读了其他一些博客,人们不得不手动删除它们。

1 个答案:

答案 0 :(得分:0)

  1. 构建过程取决于BuildTools和Android SDK。如果您设置“ minSdkVersion:10”和“ targetSdkVersion:27”,那么您应该管理所有版本之间的所有代码差异。有两种可能:(A)在较新的SDK中不再提供较旧的方法/类:那么,由于无法直接调用/使用它们,而只能通过反射(B )在较旧的SDK中不存在较新的方法/类:然后,如果您不使用“ if (Build.VERSION.SDK_INT> = Build.VERSION_CODES.xxxx)...
  2. 这取决于它们是哪种插件。他们是AAR文件吗?它们是您可以加入/添加到您的项目中的可编辑项目吗?它们是外部库吗? AAR文件和.SO库已经编译,因此它们不需要任何其他/外部文件或开发工具。
  3. 仿真器使用其自己的“系统OS”文件运行,因此所有开发资料均无用。即使没有安装开发工具(Android Studio或其他工具),您也可以运行仿真器
  4. 从管理器中删除项目甚至应删除其文件,但是在某些情况下可能会存在错误,并且不会(或仅部分删除)任何内容。但是您可以检查驱动器存储的可用空间是否增加。