Unity3d Admob нарушает интеграцию с Android. Сборка: «D8: Тип программы уже представлен: android.support.customtabs.ICustomTabsCallback» - PullRequest
2 голосов
/ 30 июня 2019

Я занимаюсь разработкой игры для Android и уже неделю стараюсь изо всех сил реализовать AdMob с посредничеством. Он отлично работает в редакторе, но при сборке выдает ошибку, указанную ниже. Я попытался реализовать несколько других плагинов, и они успешно скомпилировались, но потерпели крах при запуске (также попробовал только с их примерами реализации приложений в новых проектах).

После долгих размышлений у меня появилась гипотеза, что Facebook нужны некоторые аары, которые нужны Admob, но я не могу использовать их последнюю версию (я пробовал последние версии FB SDK, но также безрезультатно). Вот некоторые вещи, которые я заметил:

  1. Обратите внимание, что здесь есть 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

  2. Это файл AndroidResolverDependencies.xml в каталоге ProjectSettings.

    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: единство: 3.1.0.0 com.google.android.gms: стыковые услуги-объявления: 18.0.0 com.parse.bolts: болты-андроид: 1.4.0 com.unity3d.ads:unity-ads:3.1.0 Активы / Plugins / Android / android.arch.core.common-1.0.0.jar Активы / Plugins / Android / android.arch.lifecycle.common-1.0.3.jar Активы / Plugins / Android / android.arch.lifecycle.runtime-1.0.3.aar Активы / Plugins / Android / androidx.annotation.annotation-1.0.0.jar Активы / Plugins / Android / androidx.arch.core.core-синфазного 2.0.0.jar Активы / Plugins / Android / androidx.arch.core.core-среда-2.0.0.aar Активы / Plugins / Android / androidx.asynclayoutinflater.asynclayoutinflater-1.0.0.aar Активы / Plugins / Android / androidx.browser.browser-1.0.0.aar Активы / Plugins / Android / androidx.collection.collection-1.0.0.jar Активы / Plugins / Android / androidx.coordinatorlayout.coordinatorlayout-1.0.0.aar Активы / Plugins / Android / androidx.core.core-1.0.0.aar Активы / Plugins / Android / androidx.cursoradapter.cursoradapter-1.0.0.aar Активы / Plugins / Android / androidx.customview.customview-1.0.0.aar Активы / Plugins / Android / androidx.documentfile.documentfile-1.0.0.aar Активы / Plugins / Android / androidx.drawerlayout.drawerlayout-1.0.0.aar Активы / Plugins / Android / androidx.fragment.fragment-1.0.0.aar Активы / Plugins / Android / androidx.interpolator.interpolator-1.0.0.aar Активы / Plugins / Android / androidx.legacy.legacy-поддержка-ядро-щ-1.0.0.aar Активы / Plugins / Android / androidx.legacy.legacy-поддержка-ядро-Utils-1.0.0.aar Активы / Plugins / Android / androidx.lifecycle.lifecycle-синфазный 2.0.0.jar Активы / Plugins / Android / androidx.lifecycle.lifecycle-livedata-2.0.0.aar Активы / Plugins / Android / androidx.lifecycle.lifecycle-livedata-ядро-2.0.0.aar Активы / Plugins / Android / androidx.lifecycle.lifecycle-среда-2.0.0.aar Активы / Plugins / Android / androidx.lifecycle.lifecycle-ViewModel-2.0.0.aar Активы / Plugins / Android / androidx.loader.loader-1.0.0.aar Активы / Plugins / Android / androidx.localbroadcastmanager.localbroadcastmanager-1.0.0.aar Активы / Plugins / Android / androidx.print.print-1.0.0.aar Активы / Plugins / Android / androidx.slidingpanelayout.slidingpanelayout-1.0.0.aar Активы / Plugins / 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 Активы/Plugins/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 -gment-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 Assetsts / Plugins / 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-measure-base-17.0.0.aar Активы / Плагины / Android / com.google.android.gms.play-services-measure-sdk-api-17.0.0.aar Активы/Plugins/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>
    
  3. Меньшие части из журнала ошибок

    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 "" assemblyRelease "stderr [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 \ 4bb1132b85935d425bf3b80j \ jars2 jars2: D8: Интерфейс com.facebook.applinks.AppLinkData$CompletionHandler не найден.Необходимо убедиться, что десугаринг com.facebook.unity.FB$2 правильный.При удалении дескрипторов предполагается, что этот интерфейс не имеет метода по умолчанию. C:\Users\TehBlindNutSack\.gradle\caches\transforms-1\files-1.1\facebook-android-wrapper-7.17.0.aar\4bb1132b85935d425bf3b80edd9162a8\jars\classes.jar: D8: Type com.facebook.applinks.AppLinkData was not found, it is required for default or static interface methods desugaring of void com.facebook.unity.FB.FetchDeferredAppLinkData (java.lang.String) `: transformDexArchiveWithExternalLibsDexMerger42 * Rease FAIL*

Пожалуйста, если бы кто-нибудь мог помочь мне понять это правильно, это означало бы для меня мир. Извините за плохое форматирование.

Редактировать: шаги для воспроизведения: 1. Создайте новый проект Unity (2019.1.0f2) с поддержкой сборки Android 2. Добавить FB SDK 3. добавить GoogleMobileAds SDK 4. Сборка

Ответы [ 4 ]

0 голосов
/ 03 июля 2019

Я обнаружил, что androidx файлы вызывают конфликты, поэтому я переключаюсь обратно на Admob SDK v3.16 , который их не использует.

Facebook SDK v7.17 такжеесть ошибки при сборке и во время выполнения.Он отлично работает с Facebook SDK v7.15 .

Проверено OK на Unity 2019.1.5f1 .

0 голосов
/ 01 июля 2019

У меня есть хорошие и плохие новости.

Плохие новости. Во-первых, ни одно из перечисленных выше решений не помогло мне.

Хорошие новости: я установил 2019.1.08f, и он бросилта же ошибка, но с более длинным журналом.Я просмотрел журнал и нашел точные файлы, вызывающие столкновение: androidx.browser.browser-1.0.0.aar и androidx.core.core-1.0.0.aar.Я просто вошел в них, открыл Classes.jar и удалил каталог Android в обоих файлах aars.

Построить и запустить ... Вуаля.(По крайней мере, на данный момент).

Обновится здесь, если возникнет другая проблема.

Спасибо, Брайан, за то, что уделили время на его тестирование и ответили на вопрос.

0 голосов
/ 01 июля 2019

Когда вы используете GooglePlayResolver, вы будете получать новые androidx. файлы.Что может конфликтовать с com.android.support. files

Попробуйте сделать это:

Assets -> GooglePlayResolver -> Android Resolver -> Settings -> Set Jetiffier On
Force Resolve.

Обязательно используйте самую последнюю версию: https://github.com/googlesamples/unity-jar-resolver/releases/tag/v1.2.121

Проверьте это обсуждение для получения дополнительной информации.https://github.com/googlesamples/unity-jar-resolver/issues/145

0 голосов
/ 01 июля 2019

enter image description here

Я нашел решения. Есть дубликаты файлов библиотеки, смотрите каталог и смотрите, как файлы библиотеки делают это, как я. Библиотеки Android и iOS должны быть установлены для каждой платформы.

  1. Загрузить SDK из "https://developers.facebook.com/docs/unity/"

  2. Открыть каталог SDK. есть дубликаты. Так что сделайте библиотеку для каждой платформы.

  3. Установите правильную платформу для iOS и Android.

Работает и я тестировал на Unity 2019.1.0f2. У facebookSDK есть проблема с компиляцией. они сделали ловушку.

...