Unity Android 构建错误 - 此构建中使用了已弃用的 Gradle 功能,使其与 Gradle 6.0 不兼容

san*_*eet 6 android unity-game-engine gradle

之前已经问过这个问题,但我正在寻找 Unity 平台的解决方案。我试图导出项目,它在 Android Studio 上打开但 Gradle 同步也失败了。

我一直在我的项目中使用 GoogeAds 和 Firebase。该项目为 IOS 构建良好,但对于 Android,它给了我错误“此构建中使用了弃用的 Gradle 功能,使其与 Gradle 6.0 不兼容”。

我试图删除 Plugins 文件夹中的所有内容(Template.gradle 除外),但仍然出现相同的错误。

所以我既不能在 Android Studio 上调试它,也不能在 Unity 上构建它。任何帮助或指导将是非常有益的。

我正在使用统一 2018.4.5f1

谢谢

Jos*_*eph 0

这里的问题是,特定版本的 Unity 与特定版本的 gradle 相关联,并且由于更高版本的 gradle 不一定向后兼容,因此如果您没有安装与系统相同的版本,您可能无法构建- 默认版本。

我通过参考Unity使用的Java和gradle的内部版本解决了这个问题。例如,我最近在 Mac 上使用 Unity 2018.4.18 进行一个项目。这需要 gradle 5.1.1,而我的系统 gradle 是 6.6。我在构建时注意到它还使用了许多命令行选项。

所以我只是将它们复制到一个新命令中: alias gradle511='/Applications/Unity2018.4.18/PlaybackEngines/AndroidPlayer/Tools/OpenJDK/MacOS/bin/java -classpath "/Applications/Unity2018.4.18/PlaybackEngines/AndroidPlayer/Tools/gradle/lib/gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m"'

在 Windows 上你可以做类似的事情。例如,我在这个位置找到了 gradle 的副本:C:\Program Files\Unity\Hub\Editor\2019.3.15f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib

然后,我可以通过找到 Unity 导出并运行的 gradle 项目来成功按项目构建:gradle511 assembleRelease