首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity3D分级版本2.10是必需的

Unity3D分级版本2.10是必需的
EN

Stack Overflow用户
提问于 2018-05-02 12:59:01
回答 1查看 3.1K关注 0票数 1

我在OS上为Android开发了一个游戏,我得到了这个错误。

代码语言:javascript
复制
  CommandInvokationFailure: Gradle build failed. 
  /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/java -classpath "/Applications/Unity/PlaybackEngines/AndroidPlayer/Tools/gradle/lib/gradle-launcher-4.0.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" "assembleRelease"
  
  stderr[

  FAILURE: Build failed with an exception.

  * Where:
  Build file '[...]/UnityProject/Temp/gradleOut/build.gradle' line: 19
  
  * What went wrong:
  A problem occurred evaluating root project 'gradleOut'.
  > Failed to apply plugin [id 'com.android.application']
     > Gradle version 2.10 is required. Current version is 4.0.1. If using the gradle wrapper, try editing the distributionUrl in [...]/UnityProject/Temp/gradleOut/gradle/wrapper/gradle-wrapper.properties to gradle-2.10-all.zip
  
  * Try:
  Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
  
  BUILD FAILED in 1s
  ]
  stdout[
  
  ]
  exit code: 1
  UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
  UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
  UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1 progress, System.String error)
  UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action`1 progress)
  Rethrow as GradleInvokationException: Gradle build failed
  UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action`1 progress)
  UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
  UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
  UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

统一使用Gradle版本2.10,但显然当前版本是4.0.1 (这是否意味着我的PC已经在某个地方定义了“默认”gradle版本?)

编辑(5月3日)

我成功地导出了这个项目,用Android打开了它,在那里我可以强制gradle版本2.10和Android插件版本2.1.0这样编译项目,并且我能够在设备上执行它。

有什么方法可以让我在团结上做类似的事吗?还是全系统的?

到目前为止我所做的一切(没有成功)

  • 正如建议的那样,我查找了gradle-wrapper.properties文件,但它并不存在,而且由于它位于Temp文件夹下,所以它不是一个很有希望的路径。
  • 我试着创建这样的文件,并按照前面提到的配置distributionUrl
  • 做了brew install gradle,然后在项目的文件夹上尝试了gradle wrapper --gradle-version 2.10
  • 卸载统一,删除~/.gradle文件夹。重新安装联合号。
  • 尝试使用SDKMAN!安装gradle (这也将Gradle 2.10设置为默认值)

我的具体情况

  • 统一2017.4.2f2
  • macOS Sierra

这几乎是一切,有什么想法吗?

谢谢!

编辑

  • 增加了更多不成功的尝试
  • 添加了全部错误
EN

回答 1

Stack Overflow用户

发布于 2018-05-02 14:20:07

错误的最重要部分是:

如果使用gradle包装器,请尝试将.../UnityProject/Temp/gradleOut/gradle/wrapper/gradle-wrapper.properties中的distributionUrl编辑为gradle-2.10-all.zip

它想让你用2.10级。

1.Go到<UnityInstallationDirecory>\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates,然后将mainTemplate.gradle文件复制到<ProjectName>Assets\Plugins\Android文件夹。

2。打开复制到<ProjectName>Assets\Plugins\Android文件夹的<ProjectName>Assets\Plugins\Android文件。

3.Find classpath 'com.android.tools.build:gradle:2.3.0'在里面。

gradle:2.3.0替换为错误要求您替换它的版本。

在您的情况下,应该是gradle:2.1.0,然后保存它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50135270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档