好吧,我也见过类似的问题,但我还没有找到一个令人满意的解决方案,所以我要打开一个新的。问题是,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将.. int __变成了一个真正的路径,所以文件的路径也可以是:
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已启用长路径支持。
发布于 2018-07-12 08:50:41
windows长路径支持已经存在(win10,甚至在Win7上),但是工具还没有出现。
我仍然认为这是一根异常长的绳子,但它能暂时解决我的问题。是否有可能说服Gradle生成这类路径?
就我所知没有。我认为路径本身不是一个问题,而是前缀的问题,如果你使用长路径的话。
还有什么我能做的吗?Windows 10已启用长路径支持。
我认为Windows 10长路径支持在您的情况下不会有帮助。问题是,您用arm-linux-androideabi-ar构建的任何东西都没有以\\?\作为前缀,windows需要它才能认识到这是一条漫长的道路。
甚至还为您的问题打开了票#711。解决方案将类似于clang++。
我想到的解决办法是:
这不是一个“纯”窗口解决方案。一种是使用windows 10 linux子系统。第二个选项是使用MSYS2,并指定为Gradle。
https://stackoverflow.com/questions/51226596
复制相似问题