Unity 2018.3 Android Dex合并问题

4

在你决定不看这篇文章并将其视为“重复”之前,请理解我已经查看了大量与此主题相关的帖子,并且我找不到适用于我的实例的解决方案,包括所有StackOverflow建议的帖子。大多数帖子都是针对Android Studio而不是Unity。

当我尝试构建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中不存在。我在更新之前进行了检查,但现在更新后出现了这个问题。

有没有人有关于UNITY的具体想法?我已经尝试了很多方法,但是没有人的帖子能够帮助我。

感谢任何帮助。


这也适用于2019.1.0b7版本。按照下面的答案移除广告后,可以成功构建。 - Grant M
4个回答

4
您可以在菜单栏的“ Window ”下打开“ PackageManage”,然后删除广告,或者您可以删除项目目录中的Library/PackageCache下的com.unity.ads文件以解决此问题。

那就是问题所在。已经解决了!谢谢! - Sergio Viudes

1
这个错误很可能是由于添加了与您的compileSdkVersion不兼容的库所造成的。在您的情况下,您可能有一些未被Unity默认导入的库(现在已经导入了),或者构建工具版本存在问题。(您可以尝试更新它们)
我之前也遇到过类似的问题,但我不记得如何解决了。我还没有时间升级到Unity 2018.3。(因此这些提示更像是猜测,但它们可能会帮助您解决问题。)

1
谢谢你的建议。我很感激并会考虑一下,如果我找到了解决方案,我会发帖告知。 - Mike H
1
显然,谷歌广告调解是导致错误的原因。一旦移除,错误就消失了。不确定以后该如何解决,但至少现在它可以再次编译。感谢您的建议。 - Mike H
可能与此相关:https://blogs.unity3d.com/2018/08/07/unity-releases-google-advertising-for-developers/ 所有广告都将由Unity Ads提供,并由Unity或Google进行货币化(通过Unity支付)。也许他们也放弃了AdMob,但我对这个话题不太熟悉,所以可能是错误的。 - sswwqqaa
如果我理解正确的话,你是说仅使用Unity广告就可以通过他们的网络拉取谷歌广告?那么在这种情况下,Unity广告是更优秀的选择? - Mike H
我也对这篇文章感到困惑,但看起来是这样。然而,如果没有任何测试,我不能确定。 - sswwqqaa
显示剩余2条评论

0
我的设置(Mac):
- Android Studio 2.3
- Unity 2019.1.5f1:
- 玩家设置 -> 其他设置 -> 脚本运行时版本 = .Net 4
- 包管理器 -> 广告:未安装
- 首选项 -> 外部工具 -> Android:已勾选使用Unity安装的所有内容

我的解决方案:
- 从项目中删除GoogleMobileAds
- 从项目中删除PlayServicesResolver
- 从项目中删除插件
- 导入包 -> 自定义包 -> GoogleMobileAds.unitypackage(在我的情况下为3.15.1)


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接