我将从高层次的“常识”问题开始,然后进入技术细节:
高层次问题:在Windows 10中运行Android Studio安装程序时,如果我告诉它安装到D:驱动器(而不是默认的C:驱动器),为什么它坚持要将一些组件安装到C:驱动器上?
安装到非默认驱动器的原因:
- 全新的高性能游戏笔记本电脑(例如我的ASUS Republic Of Gamers)预装有Windows 10和两个驱动器:标有“OS”的C:驱动器和标有“DATA”的D:驱动器。 C:驱动器只有足够的空间容纳Windows 10以及未来的“OS”升级的缓冲区。 D:驱动器则大得多。
显然意图是让所有第三方(非操作系统)程序都存储在D:驱动器上,或者至少不存储在C:“OS”驱动器上。 (我将忽略“代码”和“数据”分离设计范例,它需要一个第三个P:“PROGRAM”驱动器,并且我只会关注缺少空间的问题。)
- 通过搜索“android install d drive”查找其他stackoverflow问题的内容,会得到一些相关问题的结果。这些问题都围绕这个更高级别的概念展开讨论,但它们涉及到更多详细的问题,例如jdk和/或sdk应该放在哪里,缺少gradle库,在环境变量中调整等等,但其中的核心主题似乎(至少对我来说)是将IDE放在d:驱动器上(完全或部分),以及因此而出现的错误。
重点是,显然我不是唯一一个C:驱动器空间有限并且不得不努力安装IDE的人。
经过5次安装/卸载尝试,每次都将所有“c:”文本框提示更改为“d:”,并了解有关仍然在c:驱动器上的各种库和文件夹的更多信息,我终于找到了所有大型库,并为它们设置了符号链接,并将它们的内容移动到了d:驱动器目标位置。
仍然有一些“小”(?)文件和目录存储在c:驱动器上,我不确定它们是否属于Android Studio,但我太胆小/懒惰去为它们设置符号链接……但这是我向Android Studio开发人员提出的高层次问题:
为什么我不得不这样做?为什么不能简化和直观?如果我告诉安装程序将所有东西都放在d:驱动器上(IDE、sdk、jdk、gradle、模拟器等),为什么安装程序不能只是这样做呢?
我是否缺少简单或明显的东西?如果我确实缺少简单或明显的东西,那么为什么如果我将所有这些符号链接设置为d:驱动器目标,它(以及我的第一个应用程序)能够构建和运行良好?