【发布时间】:2014-12-19 09:13:40
【问题描述】:
在 Android Studio 1.0.2 中创建的每个项目都包含多个引用项目自身绝对路径的文件。 如果我愿意,我什至无法移动自己的项目目录,更不用说与其他开发者共享项目了。
不包括app/build中的文件,这些是包含绝对路径的文件:
.idea/workspace.xml
.idea/modules.xml
.idea/libraries/support_v4_21_0_3.xml
.idea/libraries/appcompat_v7_21_0_3.xml
.idea/gradle.xml
.gradle/2.2.1/taskArtifacts/taskArtifacts.bin
.gradle/2.2.1/taskArtifacts/fileSnapshots.bin
app/app.iml
如何强制 Android Studio 对所有内容使用相对路径?
编辑:通过尝试 vanilla IDEA,我已将这些绝对路径的来源缩小到特定类型的模块,Android Studio 显然总是在不为您提供选择的情况下使用该模块。但我仍然没有更接近了解如何根除它们。
在 IDEA 14.0.2 中,如果您创建一个空项目或带有“应用程序模块”的 Android 项目,该项目不包含任何绝对路径。如果您使用“Gradle:Android 模块”创建项目,那么它在与 Android Studio 项目相同的文件中包含绝对路径。
编辑#2:创建IDEA-134587
【问题讨论】:
-
我现在在公共汽车上,但您确定这些绝对路径真的会阻止您移动项目吗?我几乎可以肯定,如果您将该项目目录复制到一个新目录并打开项目或重新导入它并进行干净的构建,它将使用新的绝对路径更新所有这些文件,这些路径反映了原始项目副本的位置是。我几乎可以肯定我已经毫无问题地复制并打开了我的项目,但就像我说我在公共汽车上一样。虽然,也许我应该看一下,也许那些复制的项目因此而引用了原始项目。
-
@Mark 是的。如果我更改项目的绝对路径,那么当 AS 尝试打开它时,它会说,
Cannot load module file '/old/path/to/module.iml'; file '/old/path/to/module.iml' does not exist. Would you like to remove module 'module' from the project? -
@Mark 如果我说不,那么模块仍然没有显示。没有什么需要清理或构建的。
标签: android intellij-idea android-studio