在您决定甚至不阅读此帖子就将其视为“重复”之前,请了解我看过与该主题相关的大量帖子,并且找不到适用于我的实例的解决方案,包括所有实例该StackOverflow建议。大多数帖子是针对Android Studio的,而非统一的。
尝试构建到android时,我的错误是在Unity中给出的,它在此处崩溃。
CommandInvokationFailure: Gradle build failed.
C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\OpenJDK\Windows\bin\java.exe -classpath "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.6.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleDebug"
stderr[
D8: Program type already present: com.unity3d.ads.BuildConfig
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':transformDexArchiveWithExternalLibsDexMergerForDebug'.
我已经尝试过使用build.gradle文件更改内容,就像很多帖子所建议的那样,但是我什么都无法工作。
该错误在Unity 2018.2中不存在。我在更新之前进行了检查,但此更新现在引发此问题。
有人在联合国有什么具体想法吗?我已经尝试了很多事情,但是还没有人能够帮助我。
感谢您的帮助
答案 0 :(得分:3)
您可以在菜单栏中的“窗口”下打开PackageManage并删除“广告”,也可以删除项目目录中Library / PackageCache的com.unity.ads文件来解决此问题。
答案 1 :(得分:1)
当您添加与compileSdkVersion不兼容的库时,可能会发生此错误。 在您的情况下,您可以拥有未默认统一导入的库(现在是) 或构建工具版本可能有问题。 (您可以尝试更新它们)
我之前有几个版本有类似的问题,但是我不记得如何解决。 我还没有时间升级到Unity 2018.3。 (因此,提示更像是猜测,但是它可以帮助您解决问题。)
答案 2 :(得分:0)
我的设置(Mac):
-Android Studio 2.3
-Unity 2019.1.5f1:
-播放器设置->其他设置–>脚本运行时版本= .Net 4
-包管理器->广告:已卸载
-首选项->外部工具-> Android:选中“与Unity一起安装(一切)
我的解决方案:
-从项目中删除GoogleMobileAds
-从项目中删除PlayServicesResolver
-从项目中删除插件
-导入程序包->自定义程序包-> GoogleMobileAds.unitypackage(在我的情况下为3.15.1)
答案 3 :(得分:0)
Dex错误通常是由于您在项目中导入了太多方法而引起的,而不是因为特定的程序包。我认为升级到新版本会使您将新内容导入到项目中。
您需要启用ProGuard。
原因:http://twinkfed.homedns.org/Android///tools/building/multidex.html