Windows的Gradle文件路径太长

时间:2018-07-07 20:04:55

标签: android gradle android-ndk

好的,我已经看到了类似的问题,但是我还没有找到令人满意的解决方案,所以我要开始一个新的问题。问题是Gradle产生了疯狂的长文件路径,超过了Windows上的240路径限制。问题是,一旦arm-linux-androideabi-ar运行,我会收到如下错误:

arm-linux-androideabi-ar: C:/tmp/ATC/intermediates/ndkBuild/debug/obj/local/armeabi-v7a/objs-debug/[redacted]/D_/[redacted]/android/[redacted]_ATC/src/main/jni/__/__/__/__/[redacted]/src/main/jni/__/__/__/__/__/source_code/app/missions/mission_utils/mission_data/mission_difficulty.o: No such file or directory
make: *** [C:/tmp/ATC/intermediates/ndkBuild/debug/obj/local/armeabi-v7a/lib[redacted].a] Error 1

我已经将gradle项目的buildDir更改为C:/ tmp,并尽可能地剥离了它。我还将项目本身移至驱动器的根目录,并启用了Windows 10长路径,这是我发现的唯一建议。但是,从路径上看,实际上Gradle似乎将..转换为__而不是将其转换为真实路径,因此文件路径也可能是:

C:/tmp/ATC/intermediates/ndkBuild/debug/obj/local/armeabi-v7a/objs-debug/[redacted]/D_/[redacted]/android/[redacted]_ATC/source_code/app/missions/mission_utils/mission_data/mission_difficulty.o

还是一个字符串,使我发疯的时间很长,但是暂时可以解决我的问题。是否有可能说服Gradle生成此类路径?还有什么我能做的吗? Windows 10长路径支持 已启用

1 个答案:

答案 0 :(得分:3)

Windows长路径支持已经存在(即使在Win7上也为Win10),但工具尚不存在。

  

还是一个字符串,让我发疯了很长,但可以解决我的问题   暂时的问题。是否有可能说服Gradle   生成这类路径?

我不知道。我认为路径本身不是问题,如果您使用长路径,则前缀很重要。

  

还有什么我可以做的吗? Windows 10长路径支持是   已经启用。

我认为Windows 10长路径支持对您的情况无济于事。问题在于,使用arm-linux-androideabi-ar生成的任何内容都没有以\\?\作为前缀,Windows才能认识到这是很长的路。

甚至为您的问题打开了ticket #711。该解决方案与clang++类似。

出现的解决方法:

这不是“纯” Windows解决方案。一种是使用windows 10 linux subsystem。第二种选择是使用MSYS2并专门用于Gradle