什么??? settings.gradle 中缺少参数“Gradle”

问题描述 投票:0回答:1

由于 settings.gradle 文件出现错误,我在构建 Unity 项目时遇到错误。

在此处查看更多详细信息:

FAILURE: Build failed with an exception.

* Where:
Settings file 'C:\Users\educp\Documents\Proyectos de unity\It's Complicated - copia\Library\Bee\Android\Prj\IL2CPP\Gradle\settings.gradle' line: 14

* What went wrong:
A problem occurred evaluating settings 'Gradle'.
> Could not find method dependencyResolutionManagement() for arguments [settings_9y2goy45mvwak9gvumvg94pgc$_run_closure1@4aecf086] on settings 'Gradle' of type org.gradle.initialization.DefaultSettings.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

当我转到 settings.gradle 文件时,它会显示此内容。

pluginManagement {
    repositories {
        
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}

include ':launcher', ':unityLibrary'
include 'unityLibrary:GoogleMobileAdsPlugin.androidlib'


dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
    repositories {
        
        google()
        mavenCentral()
// Android Resolver Repos Start
        def unityProjectPath = $/file:////$.replace("\\", "/")
        maven {
            url "https://maven.google.com/" // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7, Assets/GoogleMobileAds/Editor/GoogleUmpDependencies.xml:7
        }
        mavenLocal()
// Android Resolver Repos End
        flatDir {
            dirs "${project(':unityLibrary').projectDir}/libs"
        }
    }
}

正如文件中所示,它不包含参数 Gradle,但它似乎有一个 GoogleMobileAds 库。这是正常的吗??缺少什么??

还有一件事,这里有一个问题的扩展版本:

CommandInvokationFailure: Gradle build failed. 
C:\Program Files\Unity\Hub\Editor\2021.2.6f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2021.2.6f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-6.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "bundleRelease"

stderr[

FAILURE: Build failed with an exception.

* Where:
Settings file 'C:\Users\educp\Documents\Proyectos de unity\It's Complicated - copia\Library\Bee\Android\Prj\IL2CPP\Gradle\settings.gradle' line: 14

* What went wrong:
A problem occurred evaluating settings 'Gradle'.
> Could not find method dependencyResolutionManagement() for arguments [settings_9y2goy45mvwak9gvumvg94pgc$_run_closure1@4aecf086] on settings 'Gradle' of type org.gradle.initialization.DefaultSettings.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
]
stdout[
Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details
]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <aa9f40e1a34f4b01ac44d2ce67124834>:0)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <aa9f40e1a34f4b01ac44d2ce67124834>:0)
UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <aa9f40e1a34f4b01ac44d2ce67124834>:0)
UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1[T] progress, System.String error) (at <aa9f40e1a34f4b01ac44d2ce67124834>:0)
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, Unity.Android.Gradle.AndroidGradle androidGradle, System.String workingdir, System.String task, System.Action`1[T] progress) (at <aa9f40e1a34f4b01ac44d2ce67124834>:0)
Rethrow as GradleInvokationException: Gradle build failed
UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, Unity.Android.Gradle.AndroidGradle androidGradle, System.String workingdir, System.String task, System.Action`1[T] progress) (at <aa9f40e1a34f4b01ac44d2ce67124834>:0)
UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <aa9f40e1a34f4b01ac44d2ce67124834>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <aa9f40e1a34f4b01ac44d2ce67124834>:0)
Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown.
UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message, System.Exception ex) (at <aa9f40e1a34f4b01ac44d2ce67124834>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <aa9f40e1a34f4b01ac44d2ce67124834>:0)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, AndroidPlayerBuildProgram.Data.AndroidPlayerBuildProgramOutput buildProgramOutput) (at <aa9f40e1a34f4b01ac44d2ce67124834>:0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <aa9f40e1a34f4b01ac44d2ce67124834>:0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.Int32 subtarget, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <52409df47eec4ff4a3e5a5be37682d54>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
android unity-game-engine gradle build admob
1个回答
0
投票

一种解决方案是使用 Unity 2022.3 或更高版本。 对于旧版本,您需要执行以下操作:

  1. 进入
    Assets/Plugins/Android
    目录并删除
    gradleTemplate
    mainTemplate
    settingsTemplate
    文件。 (或者移动到某个地方作为备份)。
  2. 前往
    Edit -> Project Settings... -> Player
  3. 打开
    Android
    选项卡,然后打开
    Publishing Settings
  4. 勾选
    Custom Main Gradle Template
    Custom Gradele Properties Template
  5. Assets -> External Dependency Manager -> Android Resolver -> Force Resolve

您很可能打开了一个在较新的 Unity 版本中创建的项目。您的 Unity 2021.2.6f1 依赖于一个非常旧的 Gradle 版本,该版本没有

dependencyResolutionManagement()
。通过删除 gradle 模板并重新生成它们,Unity 将生成适合当前版本的模板。

© www.soinside.com 2019 - 2024. All rights reserved.