错误:窗口上的文件path太长,低于240个字符

所以,我对build.gradle(app)文件进行了一些更改,android studio给了我这个错误(在新标签中打开图像以便更好地查看): 来自Logcat的错误描述

我的build.gradle(应用程序)文件(这不是编辑的文件,我删除了新的代码行,仍然没有运气/解决scheme。): 的build.gradle

一切都很好,直到我在build.gradle(应用程序)文件中做了一些更改,但后来我删除了这些新的代码行,android studio仍然不断给我的错误。 该错误与编译“com.google.android.gms:play-services:8.3.0”有关 。 我已经尝试删除/重命名所述文件夹中的那些PNG图像,但是当我重build项目时,PNG图像自动下载。 我的build.gradle(项目)文件包含类path“com.android.tools.build:gradle:1.5.0” 。 我想知道是什么原因导致这个错误,以及如何解决它? 非常感谢。

我刚刚遇到了同样的问题。 我不知道你确切的问题的解决办法,但我find了一个工作。 我看到你的项目有一个深层次的文件path。 为什么不把你的项目从一个较低的水平上移动?

例如: C:\Projects\YourProject

这为我解决了这个问题。

您也可以尝试更改您的项目的构build目录,因为这是大多数path问题的出现点。 在你的根build.gradle文件中

 allprojects { buildDir = "C:/tmp/${rootProject.name}/${project.name}" repositories { ... } } 

Android Studio将会接受更改,并在“项目”视图中显示新的构build位置。 这比移动整个项目要容易得多。

编辑

尽pipeWindows 10 Insider Preview现在提供了允许更长的文件path限制的能力,但是目前这些限制实际上只能被特别启用对更长文件path支持的应用访问。

目前,这些启用了扩展path的应用似乎只是通过Windowsapp store安装的应用。

目前,Gradle并没有且可能不能使用此选项来使用增强的NTFS文件path长度。

导致问题的原因: 'C:\ users … \ commom_google_signin_btn_text_dark_normal.9.png'图标path长度大于240个字符,超过了Windows操作系统的最大文件path长度限制

解决方法是:将项目移动到顶层目录(如“C:\ your_project”)或缩短项目名称的长度。

这里是Windowspath限制图 在这里输入图像描述

作为实际移动项目的一个非常稳固的select,我build议使用硬链接。 这个语法就是这样的

 mklink /JC:\AndroidProjects\ProjectName C:\MyVeryVeryVeryVery…VeryVeryVeryLongPath\ProjectName 

现在,您可以在C:\ AndroidProjects \ ProjectName中处理您的项目,并将所做的更改正确地放在您的项目所在的位置。

我同意弗拉基米尔·迪莫夫的回答。 您必须为项目select短path,因为在Windows上文件path应低于240个字符。 这个链接帮助我: http : //www.feelzdroid.com/2016/01/android-studio-error-file-path-too-long-windows.html

看看这个http://feelzdroid.com/2016/01/android-studio-error-file-path-too-long-windows.html 。 解决方法是过于简单的文件夹less于240个字符的path。

确保你的道路上less于240个包机

您应该保持您的项目目录尽可能深,例如: – D:/ AndroidWorkSpace / ProjectName

因为Android Studio支持只有240项目path的字符长度

谢谢

作为lodock答案中的一个补充,如果您有许多具有相同名称的项目,则可以在项目path上使用散列值:

 import java.security.MessageDigest def hashString(String s){ MessageDigest.getInstance("SHA1").digest(s.bytes).encodeHex().toString() } allprojects { buildDir = "C:/AB/${hashString(projectDir.getAbsolutePath())}" } 

对于Windows用户:

您可能会试图创build一个networking共享到项目根文件夹,然后映射到它。 这种技术会缩短总体path长度,但由于难以检测修改的文件,会导致Android Studio出现问题。 更好的解决scheme是使用windows subst命令。 这里是一个示例脚本来规避这个问题。 根据需要调整名称,并修改为指向您的项目并安装目录。

文件:launchAS.cmd

 subst P: "C:\private\java42\ide\42g\workspaces\AndroidStudioProjects" cd "C:\private\java42\programs\android-studio-base\bin" start studio64.exe 

上述命令将创build一个P:驱动器并将其映射到项目根文件夹。 这将减less项目文件的总体path长度,并且可能会让您解决太长的path名称问题。 使用P:\,因为在打开项目时使用长根名称。

要删除映射使用命令: subst P:/ d

缩短项目path实际上是一个黑客,伊万·内森的回应似乎是前进的方向。

如果你足够幸运的话可以使用Android Studio,那么你会看到一个关于文件长度的有用的错误消息。 如果你在命令行离子版本中遇到同样的问题,你会看到一个PNG文件的紧缩错误,而且不是那么明显。

真正的问题是谷歌播放服务具有如common_google_signin_btn_text_light_normal_background.9.png如此奢侈的文件名,这是不是Windows友好。 在Android构build内转储,path在我们的控制之外爆炸到平台\ android \ build \ intermediates \ exploded-aar \ com.google.android.gms \ play-services-base \ 10.2.1 \ res \ drawable-xhdpi- V4 \ common_google_signin_btn_text_light_normal_background.9.png

您可以使用NTFS联结点为您的项目创build较短的path。 阅读更多关于连接阅读此: 硬链接和连接

结点(也称为软链接)不同于硬链接,因为它引用的存储对象是单独的目录,并且结点可以链接位于同一台计算机上不同本地卷上的目录。 否则,路口与硬链路相同

我发现这个问题时,我有两个相同的重复文件夹像,

 E:\project-one\project-one 

当它有很长的文件夹名称时,

 E:\project-one-with-very-big-name 

为了避免这个问题,使项目的文件夹简单和简短。