这个问题以前已经被问过了,但我正在寻找Unity平台的解决方案。我试图导出项目,在Android Studio上打开它,但Gradle同步也失败了。
我一直在我的项目中使用GoogeAds和Firebase。该项目在IOS上构建得很好,但对于Android,它给出了错误“在这个构建中使用了过时的Gradle功能,使其与Gradle 6.0不兼容”。
我尝试删除插件文件夹中的所有内容(除了Template.gradle),但仍然得到相同的错误。
所以我既不能在Android studio上调试它,也不能在Unity上构建它。任何帮助或指导都是非常有益的。
我使用unity 2018.4.5f1
谢谢
发布于 2020-12-20 01:36:27
这里的问题是,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
https://stackoverflow.com/questions/58664627
复制相似问题