【发布时间】:2019-11-11 14:13:23
【问题描述】:
我正在开发一款 Android 游戏,一周以来,我已尽我所能通过中介实现 AdMob。它在编辑器中工作正常,但是当我构建时,它会抛出下面提到的错误。我确实尝试过实现多个其他插件并且它们构建成功,但在启动时崩溃(也尝试在新项目中仅使用它们的示例应用实现)。
经过大量挖掘,我假设 Facebook 需要一些 Admob 需要的 aar,但不能使用它的最新版本(我也尝试了最新的 FB SDK 版本,但无济于事)。以下是我注意到的一些事情:
-
请注意此处存在 CustomTabs。我尝试删除这些类,但随后构建失败并出现另一个错误
发现了一些冲突的依赖项。 修改了以下依赖版本: com.android.support:appcompat-v7:25.3.1 --> com.android.support:appcompat-v7:27.0.2@aar com.android.support:cardview-v7:25.3.1 --> com.android.support:cardview-v7:27.0.2@aar com.android.support:customtabs:25.3.1 --> com.android.support:customtabs:27.0.2@aar com.android.support:support-v4:25.3.1 --> com.android.support:support-v4:27.0.2@aar
-
这是 ProjectSettings 目录中的 AndroidResolverDependencies.xml 文件。
com.android.support:appcompat-v7:25.3.1 com.android.support:cardview-v7:25.3.1 com.android.support:customtabs:25.3.1 com.android.support:support-v4:25.3.1 com.facebook.android:facebook-core:[5,6) com.facebook.android:facebook-login:[5,6) com.facebook.android:facebook-share:[5,6) com.google.ads.mediation:unity:3.1.0.0 com.google.android.gms:play-services-ads:18.0.0 com.parse.bolts:bolts-android:1.4.0 com.unity3d.ads:unity-ads:3.1.0 资产/插件/Android/android.arch.core.common-1.0.0.jar 资产/插件/Android/android.arch.lifecycle.common-1.0.3.jar 资产/插件/Android/android.arch.lifecycle.runtime-1.0.3.aar 资产/插件/Android/androidx.annotation.annotation-1.0.0.jar 资产/插件/Android/androidx.arch.core.core-common-2.0.0.jar 资产/插件/Android/androidx.arch.core.core-runtime-2.0.0.aar 资产/插件/Android/androidx.asynclayoutinflater.asynclayoutinflater-1.0.0.aar 资产/插件/Android/androidx.browser.browser-1.0.0.aar 资产/插件/Android/androidx.collection.collection-1.0.0.jar 资产/插件/Android/androidx.coordinatorlayout.coordinatorlayout-1.0.0.aar 资产/插件/Android/androidx.core.core-1.0.0.aar 资产/插件/Android/androidx.cursoradapter.cursoradapter-1.0.0.aar 资产/插件/Android/androidx.customview.customview-1.0.0.aar 资产/插件/Android/androidx.documentfile.documentfile-1.0.0.aar 资产/插件/Android/androidx.drawerlayout.drawerlayout-1.0.0.aar 资产/插件/Android/androidx.fragment.fragment-1.0.0.aar 资产/插件/Android/androidx.interpolator.interpolator-1.0.0.aar 资产/插件/Android/androidx.legacy.legacy-support-core-ui-1.0.0.aar 资产/插件/Android/androidx.legacy.legacy-support-core-utils-1.0.0.aar 资产/插件/Android/androidx.lifecycle.lifecycle-common-2.0.0.jar 资产/插件/Android/androidx.lifecycle.lifecycle-livedata-2.0.0.aar 资产/插件/Android/androidx.lifecycle.lifecycle-livedata-core-2.0.0.aar 资产/插件/Android/androidx.lifecycle.lifecycle-runtime-2.0.0.aar 资产/插件/Android/androidx.lifecycle.lifecycle-viewmodel-2.0.0.aar 资产/插件/Android/androidx.loader.loader-1.0.0.aar 资产/插件/Android/androidx.localbroadcastmanager.localbroadcastmanager-1.0.0.aar 资产/插件/Android/androidx.print.print-1.0.0.aar 资产/插件/Android/androidx.slidingpanelayout.slidingpanelayout-1.0.0.aar 资产/插件/Android/androidx.swiperefreshlayout.swiperefreshlayout-1.0.0.aar 资产/插件/Android/androidx.versionedparcelable.versionedparcelable-1.0.0.aar 资产/插件/Android/androidx.viewpager.viewpager-1.0.0.aar 资产/插件/Android/com.android.support.animated-vector-drawable-27.0.2.aar 资产/插件/Android/com.android.support.appcompat-v7-27.0.2.aar 资产/插件/Android/com.android.support.cardview-v7-27.0.2.aar 资产/插件/Android/com.android.support.customtabs-27.0.2.aar 资产/插件/Android/com.android.support.support-annotations-27.0.2.jar 资产/插件/Android/com.android.support.support-compat-27.0.2.aar 资产/插件/Android/com.android.support.support-core-ui-27.0.2.aar 资产/插件/Android/com.android.support.support-core-utils-27.0.2.aar 资产/插件/Android/com.android.support.support-fragment-27.0.2.aar 资产/插件/Android/com.android.support.support-media-compat-27.0.2.aar 资产/插件/Android/com.android.support.support-v4-27.0.2.aar 资产/插件/Android/com.android.support.support-vector-drawable-27.0.2.aar 资产/插件/Android/com.facebook.android.facebook-common-5.1.0.aar 资产/插件/Android/com.facebook.android.facebook-core-5.1.0.aar 资产/插件/Android/com.facebook.android.facebook-login-5.1.0.aar 资产/插件/Android/com.facebook.android.facebook-share-5.1.0.aar 资产/插件/Android/com.google.ads.mediation.unity-3.1.0.0.aar 资产/插件/Android/com.google.android.gms.play-services-ads-18.0.0.aar 资产/插件/Android/com.google.android.gms.play-services-ads-base-18.0.0.aar 资产/插件/Android/com.google.android.gms.play-services-ads-identifier-17.0.0.aar 资产/插件/Android/com.google.android.gms.play-services-ads-lite-18.0.0.aar 资产/插件/Android/com.google.android.gms.play-services-basement-17.0.0.aar 资产/插件/Android/com.google.android.gms.play-services-gass-18.0.0.aar 资产/插件/Android/com.google.android.gms.play-services-measurement-base-17.0.0.aar 资产/插件/Android/com.google.android.gms.play-services-measurement-sdk-api-17.0.0.aar 资产/插件/Android/com.google.zxing.core-3.3.3.jar 资产/插件/Android/com.parse.bolts.bolts-android-1.4.0.jar 资产/插件/Android/com.parse.bolts.bolts-applinks-1.4.0.jar 资产/插件/Android/com.parse.bolts.bolts-tasks-1.4.0.jar 资产/插件/Android/com.unity3d.ads.unity-ads-3.1.0.aar
<settings> <setting name="androidAbis" value="armeabi-v7a,x86" /> <setting name="bundleId" value="com.pratyaksh.cosmicballs" /> <setting name="explodeAars" value="True" /> <setting name="gradleBuildEnabled" value="True" /> <setting name="gradleTemplateEnabled" value="False" /> <setting name="installAndroidPackages" value="True" /> <setting name="packageDir" value="Assets\Plugins\Android" /> <setting name="patchAndroidManifest" value="True" /> <setting name="patchMainTemplateGradle" value="True" /> <setting name="projectExportEnabled" value="False" /> <setting name="useJetifier" value="False" /> </settings> </dependencies> -
错误日志中的较小部分
CommandInvokationFailure:Gradle 构建失败。 E:\UnityEditor\2019.1.0f2\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\OpenJDK\Windows\bin\java.exe -classpath "E:\UnityEditor\2019.1.0f2\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\ gradle\lib\gradle-launcher-4.6.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease" 标准错误[ D8:程序类型已经存在:android.support.customtabs.ICustomTabsCallback FAILURE:构建失败并出现异常。
- 出了什么问题: 任务“:transformDexArchiveWithExternalLibsDexMergerForRelease”执行失败。 com.android.builder.dexing.DexArchiveMergerException:合并 dex 档案时出错:
。 . //因堆栈溢出而缩短 . . .
:transformClassesWithDexBuilderForRelease C:\Users\TehBlindNutSack.gradle\caches\transforms-1\files-1.1\facebook-android-wrapper-7.17.0.aar\4bb1132b85935d425bf3b80edd9162a8\jars\classes.jar:D8:未找到接口
com.facebook.applinks.AppLinkData$CompletionHandler。需要确保com.facebook.unity.FB$2的脱糖是正确的。 Desugaring 将假定此接口没有默认方法。C:\Users\TehBlindNutSack\.gradle\caches\transforms-1\files-1.1\facebook-android-wrapper-7.17.0.aar\4bb1132b85935d425bf3b80edd9162a8\jars\classes.jar: D8: Typecom.facebook.applinks.AppLinkDatawas not found, it is required for default or static interface methods desugaring ofvoid com.facebook.unity.FB.FetchDeferredAppLinkData(java.lang.String)` :transformDexArchiveWithExternalLibsDexMergerForRelease 失败
拜托,如果有人能帮我把它弄好,这对我来说意味着一个世界。 抱歉格式错误。
编辑:重现步骤: 1.创建一个新的Unity(2019.1.0f2)项目,支持android构建 2.添加FB SDK 3.添加GoogleMobileAds SDK 4. 构建
【问题讨论】:
-
您是否检查过您要构建的 Android 的 SDK 版本和 sdk 版本之间的兼容性?
-
我相信我有。但可以肯定的是,我如何检查所有包的 android api 兼容性(如果这是你的意思)。
-
我猜 Admob 有 'AnidroidManifest.xml' 以及最低和最高版本。看到那个版本后,你需要在 Unity 中查看 Android BuildSettings,有 android sdk 版本设置的菜单,我想你可能已经知道了。确定
-
谢谢,但我已经尝试过了。您能否确认您是否也发生此错误?重现步骤:1. 创建一个新的 Unity 项目,支持 android 构建,2. 添加 FB SDK,3. 添加 GoogleMobileAds SDK,4. 构建。
-
好的,我马上试试。您使用哪个 Unity 版本?
标签: android unity3d admob android-support-library