这个问题已经问过了,但我正在寻找统一平台的解决方案。我尝试导出项目,在Android Studio上打开它,但Gradle同步也失败了。
我在我的项目中使用了GoogleAds和Firebase。该项目在iOS上构建得很好,但在Android上,它给我一个错误“此版本中使用了弃用的Gradle功能,使其与Gradle 6.0不兼容”。
我试图删除插件文件夹中的所有内容(除了Template.gradle),但仍然得到相同的错误。
所以我既不能在Android Studio上调试它,也不能在Unity上构建它。任何帮助或指导都将是非常有益的。
我正在使用Unity 2018.4.5f1
谢谢
2条答案
按热度按时间lstz6jyr1#
这里的问题是,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
xesrikrc2#
尝试更改依赖项{ classpath 'com.android.tools.build:gradle:3.4.0'
to:dependencies { classpath 'com.android.tools.build:gradle:3.4.3'
。。。不知怎么对我有用