注意:这似乎是Android插件的问题.查看相关问题的评论.
构建项目时出现以下gradle错误:
Gradle sync Failed: Cause: java.lang.NullPointerException
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:98)
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
at java.nio.file.Paths.get(Paths.java:84)
at com.android.build.gradle.internal.scope.BuildOutput.getoutputPath(BuildOutput.java:222)
at com.android.build.gradle.internal.scope.BuildOutputs.lambda$load$2(BuildOutputs.java:243)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1376)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndcopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
...
我还要注意,我必须手动设置jdk位置,因为如果我使用捆绑的那个gradle守护程序将无法启动,抱怨不在预期的上下文中(它期望捆绑的上下文,而是获取外部上下文).
这种配置在金丝雀9中工作(使用捆绑的jdk).
解决方法:
归功于@Grsmto
根据this blog post,您需要打开终端并按顺序启动以下命令:
UPDATE
Now the workaround it’s easier, you just need to go to Build -> Clean Project and then sync.
视窗
gradlew清洁
gradlew组装
Linux的/苹果机
./gradlew清洁
./gradlew汇编
然后同步项目.