升级到Android Studio 3.0 Beta 1后,Gradle同步失败

在Android Studio 3.0 Canary 9上同步并建立OK的项目。升级到Android Studio 3.0 Beta 1之后立即启动失败了Gradle同步!

在Debian GNU / Linux 9(Stretch,stable,up-to-date)上使用Android Studio捆绑了Java 8而没有黑客入侵。

更新:解决与Beta 2

https://androidstudio.googleblog.com/2017/08/android-studio-30-beta-2.html

注意:重写代码需要额外的工作量,以避免Android出现问题的 Java库。


更新:首先尝试从谷歌

https://androidstudio.googleblog.com/2017/08/android-studio-30-beta-1.html

出现了几个问题 (例如,没有–min-sdk-version> = 26的签名多态方法的错误)

加那利9号上没有这些问题!

Error:Execution failed for task ':app:transformClassesWithDexBuilderForDebug'. > com.android.build.api.transform.TransformException: org.gradle.tooling.BuildException: com.android.dx.cf.code.SimException: signature-polymorphic method called without --min-sdk-version >= 26 

( Google的解决方案 )


原始同步问题

在Windows上同样的问题

Gradle错误升级到Android Studio 3.0 Beta 1

从工作室

 Build: 3.0 Beta 1, AI-171.4243858, 201708032321, AI-171.4243858, JRE 1.8.0_152-release-915-b01x64 JetBrains sro, OS Linux(amd64) v4.9.0-3-amd64 unknown, screens 1920x1080, 1920x1080 

Gradle'…'项目刷新失败

 Cause: java.lang.NullPointerException at sun.nio.fs.UnixPath.normalizeAndCheck(UnixPath.java:77) at sun.nio.fs.UnixPath.<init>(UnixPath.java:71) at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281) 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) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) at com.android.build.gradle.internal.scope.BuildOutputs.load(BuildOutputs.java:245) at com.android.build.gradle.internal.scope.BuildOutputs.load(BuildOutputs.java:184) at com.android.build.gradle.internal.scope.BuildOutputs.load(BuildOutputs.java:140) at com.android.build.gradle.internal.ide.BuildOutputsSupplier.lambda$get$1(BuildOutputsSupplier.java:55) at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:397) at com.android.build.gradle.internal.ide.BuildOutputsSupplier.get(BuildOutputsSupplier.java:50) at com.android.build.gradle.internal.ide.BuildOutputsSupplier.get(BuildOutputsSupplier.java:35) at com.android.build.gradle.internal.ide.AndroidArtifactImpl.getOutputs(AndroidArtifactImpl.java:134) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$ReflectionMethodInvoker.invoke(ProtocolToModelAdapter.java:592) at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$AdaptingMethodInvoker.invoke(ProtocolToModelAdapter.java:397) at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$PropertyCachingMethodInvoker.invoke(ProtocolToModelAdapter.java:625) at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$SafeMethodInvoker.invoke(ProtocolToModelAdapter.java:647) at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$SupportedPropertyInvoker.invoke(ProtocolToModelAdapter.java:670) at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$InvocationHandlerImpl.invoke(ProtocolToModelAdapter.java:356) at com.sun.proxy.$Proxy220.getOutputs(Unknown Source) at com.android.tools.idea.gradle.project.model.ide.android.IdeAndroidArtifactImpl.<init>(IdeAndroidArtifactImpl.java:57) at com.android.tools.idea.gradle.project.model.ide.android.IdeVariantImpl.lambda$new$0(IdeVariantImpl.java:60) at com.android.tools.idea.gradle.project.model.ide.android.ModelCache.lambda$computeIfAbsent$0(ModelCache.java:31) at java.util.HashMap.computeIfAbsent(HashMap.java:1126) at com.android.tools.idea.gradle.project.model.ide.android.ModelCache.computeIfAbsent(ModelCache.java:31) at com.android.tools.idea.gradle.project.model.ide.android.IdeVariantImpl.<init>(IdeVariantImpl.java:59) at com.android.tools.idea.gradle.project.model.ide.android.IdeAndroidProjectImpl.lambda$new$4(IdeAndroidProjectImpl.java:88) at com.android.tools.idea.gradle.project.model.ide.android.ModelCache.lambda$computeIfAbsent$0(ModelCache.java:31) at java.util.HashMap.computeIfAbsent(HashMap.java:1126) at com.android.tools.idea.gradle.project.model.ide.android.ModelCache.computeIfAbsent(ModelCache.java:31) at com.android.tools.idea.gradle.project.model.ide.android.IdeModel.copy(IdeModel.java:74) at com.android.tools.idea.gradle.project.model.ide.android.IdeAndroidProjectImpl.<init>(IdeAndroidProjectImpl.java:87) at com.android.tools.idea.gradle.project.model.ide.android.IdeAndroidProjectImpl.<init>(IdeAndroidProjectImpl.java:68) at com.android.tools.idea.gradle.project.model.AndroidModuleModel.<init>(AndroidModuleModel.java:131) at com.android.tools.idea.gradle.project.sync.idea.AndroidGradleProjectResolver.populateModuleContentRoots(AndroidGradleProjectResolver.java:214) at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.populateModuleContentRoots(AbstractProjectResolverExtension.java:103) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.doResolveProjectInfo(GradleProjectResolver.java:366) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.access$200(GradleProjectResolver.java:79) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:902) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:886) at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.execute(GradleExecutionHelper.java:218) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:139) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:79) at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.lambda$resolveProjectInfo$0(RemoteExternalSystemProjectResolverImpl.java:37) at com.intellij.openapi.externalSystem.service.remote.AbstractRemoteExternalSystemService.execute(AbstractRemoteExternalSystemService.java:59) at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.resolveProjectInfo(RemoteExternalSystemProjectResolverImpl.java:37) at com.intellij.openapi.externalSystem.service.remote.wrapper.ExternalSystemProjectResolverWrapper.resolveProjectInfo(ExternalSystemProjectResolverWrapper.java:45) at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(ExternalSystemResolveProjectTask.java:66) at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:139) at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:125) at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$3.execute(ExternalSystemUtil.java:388) at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$5.run(ExternalSystemUtil.java:445) at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:726) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:176) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:556) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:501) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:163) at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:137) at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:334) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 

更新:Android Studio 3.0 Beta 3

通过以下错误修复列表:

在这里输入图像描述

似乎这个问题已经消失了。 从3.0 Beta 2更新到3.0 Beta 3之后,我不必手动清理项目。

更新:Android Studio 3.0 Beta 2

从官方的Android Studio 3.0 Beta 2已知问题:

如果您有一个使用Android插件3.0.0(例如3.0.0-alpha9)的alpha版本的现有Android Studio项目,则当您迁移到Android插件3.0.0-beta1(或更高版本)时,可能会出现以下错误:并同步您的项目:Gradle项目刷新失败。

从菜单栏中选择Build> Clean Project来解决这个问题。

在这里输入图像描述

你可以通过这个来解决这个问题:

 Build > Clean Project 

参考: https : //androidstudio.googleblog.com/2017/08/android-studio-30-beta-1.html

请阅读此处: https : //androidstudio.googleblog.com/2017/08/android-studio-30-beta-1.html

  1. 从菜单栏中选择View> Tool Windows> Terminal打开终端窗口。
  2. 使用以下命令删除所有中间和缓存的构建文件:gradlew clean。
  3. 使用以下命令构建您的项目:gradlew assemble。
  4. 通过单击工具栏上的同步项目,将项目文件与Gradle同步。

或者像我一样,打开“Gradle”选项卡并运行“clean”,然后“组装”像这样:

在Android Studio上右键打开选项卡“gradle”,然后在“app”/“Tasks”/“build”中看到“clean”,“assemble”等任务。

运行第一次清理,然后组装,你可能会得到一个错误,但它仍然工作,并最终重建您的项目。

Google提供了一个解决方案 :

解决这个问题,从菜单栏中选择Build > Clean Project 。 您只需为每个项目执行一次该操作。 然后,您可以通过单击工具栏上的同步项目来将您的项目文件与Gradle 同步

我在Android Studio 3.0 Beta 2上,我发现在这里提出的cleansync之上,对于我的项目是Java-Kotlin混合代码库,我不得不把我的Kotlin版本降到1.1.3-2 ,这是IDE捆绑版本, cleansync然后工作,然后我可以把Kotlin版本回到1.1.4这是写作时最新的。