Facebook-sdk-for-unity: No se pudo compilar en Unity 2019.3.0f6 - Conflicto con el SDK de Firebase - Dependencias duplicadas

Creado en 3 feb. 2020  ·  37Comentarios  ·  Fuente: facebook/facebook-sdk-for-unity

Lista de Verificación

Ambiente

  • Versión del editor de Unity: 2019.3.0f6
  • Versión del SDK de Unity: 7.18.0 y 7.18.1
  • Plataforma de instalación y versión: [Android] versión any
  • Versión del SDK de Firebase: 6.10.0
  • Unity Jar Resolver Versión: 1.2.135

Metas

Construye el proyecto

Resultados previstos

El proyecto se construyó con éxito

Resultados actuales

El proyecto no se puede compilar con el siguiente resultado:

CommandInvokationFailure: Gradle build failed. 
/Applications/Unity/Hub/Editor/2019.3.0f6/PlaybackEngines/AndroidPlayer/OpenJDK/bin/java -classpath "/Applications/Unity/Hub/Editor/2019.3.0f6/PlaybackEngines/AndroidPlayer/Tools/gradle/lib/gradle-launcher-6.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"

stderr[

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':launcher:checkReleaseDuplicateClasses'.
> 1 exception was raised by workers:
  java.lang.RuntimeException: Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
  Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
  Duplicate class android.support.v4.app.INotificationSideChannel$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
  Duplicate class android.support.v4.os.IResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
  Duplicate class android.support.v4.os.IResultReceiver$Stub found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
  Duplicate class android.support.v4.os.IResultReceiver$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
  Duplicate class android.support.v4.os.ResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
  Duplicate class android.support.v4.os.ResultReceiver$1 found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
  Duplicate class android.support.v4.os.ResultReceiver$MyResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)
  Duplicate class android.support.v4.os.ResultReceiver$MyRunnable found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.0.2)

  Go to the documentation to learn how to Fix dependency resolution errors.

Pasos para reproducir

  1. Crear nuevo proyecto Unity 2019.3.0f6
  2. Establezca el objetivo de compilación del proyecto en Android.
  3. Importar SDK de Facebook 7.18.0
  4. Importe la última versión del SDK de Firebase Analytics 6.10.0 al proyecto.
  5. Importe Unity Jar Resolver v1.2.135 al proyecto.
  6. Habilite mainTemplate.gradle (Configuración del reproductor -> configuración de publicación -> verifique la plantilla gradle personalizada)
  7. Haga clic en Activos / Resolución de servicios de Play / Resolución de Android / Resolución
  8. Habilite Jetifier cuando se le solicite
  9. Construye el proyecto

O

  1. Descarga y abre el proyecto de reproducción que hice.
  2. Cambiar el objetivo de compilación a Android
  3. Construye el proyecto

Muestras de código y detalles

Si construyo solo con el SDK de Facebook, funciona.
Si compilo solo con el SDK de Firebase, funciona.
Si construyo tanto con el SDK de Facebook como con el SDK de Firebase, falla.

Hice un proyecto de Repro siguiendo los pasos que mencioné anteriormente.
https://drive.google.com/file/d/1ngzavtEftODND1EpRyNchq3qClpyXl0C/view?usp=sharing

bug

Comentario más útil

Lo resolví en dos pasos para Unity 2019.3.11f1 :

  1. Vaya a Edit -> Project Settings -> Player -> Publishing settings -> Marque Custom Properties Gradle Template
  2. Vaya al gradleTemplate.properties recién generado y agregue estas líneas en la parte superior:
    `` propiedades
    android.useAndroidX = true
    android.enableJetifier = true

Todos 37 comentarios

Hola @KylinChang , ¿hay alguna actualización sobre esto?

No podemos construir el proyecto en Unity 2019.3.
En Android debido a este problema, y ​​en iOS, debido a # 359.

Hola @mcrvaz , ¿puedes probar la v7.18.1?

También enfrenta el mismo problema con Facebook SDK v7.18.1.

Enfrentando el mismo problema con Facebook SDK v7.18.1. Nuestro juego no se puede construir en este momento. Desactivación temporal de Firebase o Facebook.

@kashiftasneempro, ¿

@kashiftasneempro, ¿

Sí, lo hice.

Me estoy encontrando con el mismo problema, ¿alguien ha progresado en esto? ¿Parece un conflicto entre la biblioteca de soporte y androidx?

En realidad: aún no lo he probado completamente, pero quitando

implementation(name: 'com.android.support.support-compat-27.0.2', ext:'aar')

De build.gradle me permite volver a construir apk. Sin embargo, haré algunas pruebas para ver si algo está roto.

Actualización 1: Parece que las cosas están funcionando en mi extremo, Facebook todavía funciona y estoy obteniendo la inicialización del token de inserción de Firebase correctamente.

Actualización 2: Olvidé mencionar que también tengo que eliminar una línea en el archivo Firebase AndroidManifest que es uses-sdk ... 14
Al eliminar esas dos líneas, todo funciona muy bien. he podido probar todo lo relacionado con mis casos de uso. Ojalá esto ayude a otros.

En realidad: aún no lo he probado completamente, pero quitando

implementation(name: 'com.android.support.support-compat-27.0.2', ext:'aar')

De build.gradle me permite volver a construir apk. Sin embargo, haré algunas pruebas para ver si algo está roto.

Actualización 1: Parece que las cosas están funcionando en mi extremo, Facebook todavía funciona y estoy obteniendo la inicialización del token de inserción de Firebase correctamente.

Actualización 2: Olvidé mencionar que también tengo que eliminar una línea en el archivo Firebase AndroidManifest que es uses-sdk ... 14
Al eliminar esas dos líneas, todo funciona muy bien. he podido probar todo lo relacionado con mis casos de uso. Ojalá esto ayude a otros.

¿Estás trabajando en Unity?

Unity tiene mainTemplate.gradle no build.gradle.

Sí, esto es Unity, en lugar de construir el apk / aab desde el editor, exporto a Android Studio para poder trabajar con las dependencias. Ayuda mucho a la hora de depurar cosas como esta.

Hola @ncinoadam , ¿qué módulos de Firebase estás usando? ¿Solo notificaciones push?

@ncinoadam @kashiftasneempro Logré resolver esto habilitando Jetifier y modificando el archivo mainTemplate.gradle así:

dependencies {
    implementation 'androidx.multidex:multidex:2.0.0'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    // Android Resolver Dependencies Start
    implementation 'androidx.appcompat:appcompat:1.0.0'
    // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
    implementation 'androidx.cardview:cardview:1.0.0'
    // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
    implementation 'androidx.cardview:cardview:1.0.0'
    // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
    implementation 'androidx.browser:browser:1.0.0'
    // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:6
...

Hola @ncinoadam , ¿qué módulos de Firebase estás usando? ¿Solo notificaciones push?

Actualmente solo estoy usando el módulo de mensajería, pero no sería difícil resolver los conflictos y solucionarlos para otros también.

El problema se puede resolver exportando el proyecto y la compilación con Android Studio, luego migre con AndroidX reemplazando las dependencias casi antiguas siguiendo a @hex mencionado. Pero eso no es como se supone que debe ser, los conflictos ahora giran alrededor del paquete que aún usa dependencias antiguas mientras AndroidX está habilitado después de Force Resolve, así que espero que haya una solución disponible o una forma oficial de compilar sin exportar el proyecto.

En realidad: aún no lo he probado completamente, pero quitando

implementation(name: 'com.android.support.support-compat-27.0.2', ext:'aar')

De build.gradle me permite volver a construir apk. Sin embargo, haré algunas pruebas para ver si algo está roto.

Actualización 1: Parece que las cosas están funcionando en mi extremo, Facebook todavía funciona y estoy obteniendo la inicialización del token de inserción de Firebase correctamente.

Actualización 2: Olvidé mencionar que también tengo que eliminar una línea en el archivo Firebase AndroidManifest que es uses-sdk ... 14
Al eliminar esas dos líneas, todo funciona muy bien. he podido probar todo lo relacionado con mis casos de uso. Ojalá esto ayude a otros.

Gracias @ncinoadam , esto funcionó para mí usando el módulo de análisis.

Estoy de acuerdo con @GunLengend , es un truco tener que meterse con archivos en Android Studio y debe manejarse dentro de Unity sin la necesidad de exportar cada vez que desee compilar

EDITAR: También quiero mencionar que este problema no tiene nada que ver con el SDK de Facebook, ya que no lo tengo en mi proyecto. Abrí un problema aquí (https://github.com/firebase/quickstart-unity/issues/607) porque tenía prácticamente la misma salida de registros de Unity y solucioné el problema con lo que @ncinoadam mencionó, por lo que parece ser más de una cosa de Firebase

Lo que estoy considerando en este momento no es solo un problema de Facebook y Firebase, sino que también puede pertenecer a Unity. Debido a que enableJetifier y useAndroidX se habilitaron en el archivo mainTemplate.gradle de Unity, pero cuando Unity inicia el proceso de compilación, Jetifier no hace su trabajo, debería estar migrando todas las dependencias antiguas para forzar el uso de AndroidX, pero no lo es, y Android Studio puede hacer ese truco.

Lo que estoy considerando en este momento no es solo un problema de Facebook y Firebase, sino que también puede pertenecer a Unity. Debido a que enableJetifier y useAndroidX se habilitaron en el archivo mainTemplate.gradle de Unity, pero cuando Unity inicia el proceso de compilación, Jetifier no hace su trabajo, debería estar migrando todas las dependencias antiguas para forzar el uso de AndroidX, pero no lo es, y Android Studio puede hacer ese truco.

Después de actualizar a la versión más reciente de Unity, Facebook SDK, Firebase SDK, todos los problemas de compilación de Android han desaparecido. Ahora estoy luchando con iOS en Xcode, pero no está relacionado con este SDK.

EDITAR: Esto podría deberse a que tenía Firebase Analytics habilitado anteriormente y ahora no. No estaba usando Facebook SDK cuando recibí el problema por primera vez, era un problema con Mapbox SDK, que parece que redistribuyen las bibliotecas de Java en lugar de actualizar al sistema de resolución de Android. Me deshice de Mapbox y comencé a usar mapas de Google, muy buenos allí, pero luego presenté una versión anterior del SDK de Facebook porque la documentación de uno de mis activos solicita la versión anterior y tenía varias clases duplicadas al presentarlo. Así que obtuve el nuevo SDK de Facebook y tuve que ajustar el código en el activo que requería la versión anterior. Actualmente solo tengo Firebase Authentication funcionando, pero todavía parece estar utilizando androidx.core.core-1.0.0 y ahí era donde estaban la mayoría de las clases duplicadas para mí. Ojalá esto ayude

Tengo el mismo conflicto al agregar FB a mi proyecto donde tengo AdMob

Aplicación de atributo support: support-compat : 28.0.0] AndroidManifest. xml: 22 : 18-91

Después de agregar sugerido
tools:replace="android:appComponentFactory" android:appComponentFactory="whateverString"

estoy obteniendo

java.lang.RuntimeException: clase duplicada android.support.customtabs.ICustomTabsCallback encontrada en los módulos classes.jar (androidx.browser: browser: 1.0.0) y classes.jar (com.android.support:customtabs:28.0.0)

Y más ...
Tengo las versiones más recientes de todos los SDK y Unity.

No sé por qué me rechazaste y, además, por qué quiero ayudarte después de hacerlo, pero te sugiero que elimines com.android. support: customtabs : 28.0.0, generalmente almacenado en Assets / Plugins / Android / y vea si eso soluciona su problema.

El problema es que estoy usando mainTemplate.gradle lugar de tener toneladas de bibliotecas en la carpeta Assets / Plugins / Android /. (tiene espacio limitado en el repositorio).
Eliminé todos los implementation 'com.android.support.XXXX' y sigo teniendo el mismo problema.

Obtuvo el pulgar hacia abajo porque su solución no es para mí. Cuando el administrador está leyendo una publicación como la suya, puede cerrar este problema porque asumirá que todo está hecho, cuando NO.
Estoy apoyando muchos proyectos y soluciones como: Export to Android Studio o remove library con no existe en mi proyecto no es una solución.

Buena suerte amigo

Lo que estoy considerando en este momento no es solo un problema de Facebook y Firebase, sino que también puede pertenecer a Unity. Debido a que enableJetifier y useAndroidX se habilitaron en el archivo mainTemplate.gradle de Unity, pero cuando Unity inicia el proceso de compilación, Jetifier no hace su trabajo, debería estar migrando todas las dependencias antiguas para forzar el uso de AndroidX, pero no lo es, y Android Studio puede hacer ese truco.

El problema es tanto un problema de Google / Unity como un problema de Facebook. Facebook necesita actualizar su SDK para usar AndroidX, puro y simple y este problema desaparece. Google / Unity han desarrollado su propia versión de Jetifier que se ejecuta dentro de Unity para solucionar el problema hasta que empresas como Facebook lo solucionen, ¡pero Jetifier de Unity no funciona con el SDK de Facebook!

Afortunadamente, Jetifier de Android Studio funciona bien ... y esa es literalmente la única solución para ejecutar un juego de Unity con Facebook SDK y cualquier otra biblioteca que use AndroidX.

Tuve el mismo problema y cambié a v7.19.2 desde V7.16, lo que me solucionó el problema.

@LunarInteractiveArts Probé 7.19.2 pero lamentablemente no funcionó.
Sin embargo, hay una solución publicada sobre este error: https://github.com/googlesamples/unity-jar-resolver/issues/360 que funciona.

@ Doom-Goober Probé esto y no funciona ni para mí.
El código es similar a lo que genera el solucionador de dependencias de Google:
image

Parece que encontré la solución en la sección de ayuda de OneSignal. Fix es para Unity ofc. https://documentation.onesignal.com/docs/troubleshooting-unity#section -android-x -compatibilidad
image

Lo resolví en dos pasos para Unity 2019.3.11f1 :

  1. Vaya a Edit -> Project Settings -> Player -> Publishing settings -> Marque Custom Properties Gradle Template
  2. Vaya al gradleTemplate.properties recién generado y agregue estas líneas en la parte superior:
    `` propiedades
    android.useAndroidX = true
    android.enableJetifier = true

En Unity 2019.2.21, los errores de clase duplicada todavía están allí incluso con jetfiier habilitado como se muestra a continuación

([rootProject] + (rootProject.subprojects as List)). each {
ext {
it.setProperty ("android.useAndroidX", verdadero)
it.setProperty ("android.enableJetifier", verdadero)
}
}

@jackatfp ¿ Probaste la solución de
https://documentation.onesignal.com/docs/troubleshooting-unity#unity -20193-or-newer

Es la sección donde debe agregar un archivo llamado Assets / Plugins / Android / settingsTemplate.gradle.

Este problema me frustró muchísimo y estaba a punto de decidirme a construir desde Android Studio. Solo esta solución funcionó consistentemente para mí (pensé que la anterior funcionó, pero dejó de funcionar para mí cuando agregué algunos otros complementos a mi proyecto). Y lógicamente tenía algún sentido: el sistema Gradle claramente no estaba recogiendo el jetificador de El postprocesador y la configuración de Unity, pero claramente el jetifier estaba funcionando porque funcionaba en Android Studio que usa gradle. Entonces, una solución basada en Gradle parece tener sentido.

De todos modos funcionó para mí y estaba tan molesto y encantado de encontrar una solución que espero que funcione para usted. ¡Por favor inténtalo! Buena suerte.

Tiene razón en que no estaba recogiendo el jetificador en ese caso, pero ya no necesita usar la solución OneSignal.

Con la versión oficial más reciente de 2019.3 (la mía es 2019.3.12f1 atm), puede usar la Plantilla personalizada de propiedades de Gradle en la parte superior de la Plantilla principal de Gradle y agregar:
android.useAndroidX=true
android.enableJetifier=true
al archivo gradleTemplate.properties recién generado.

He estado exportando a Android Studio para compilar con todos los SDK que mi editor desea y trabajando con las miserias de los errores de compilación de Android desde entonces, como desarrollador junior creo que encontré todos los problemas, pero ahora finalmente puedo compilar desde Unity. Jetifier no funcionaba correctamente con el SDK de Facebook, excepto en el estudio de Android, por lo que si usaba suficientes complementos migrados a AndroidX, sería difícil construir desde Unity sin algunos cambios hacky.

También suelo cambiar Plugins / Android / AndroidManifest.xml para tener esto en la etiqueta de la aplicación:
tools:replace="android:appComponentFactory" android:appComponentFactory="leavemealone"
también xmlns:tools="http://schemas.android.com/tools" en la etiqueta de manifiesto

Sí, es una cadena aleatoria ya que no estoy seguro de cuál es el propósito de esto, pero funciona y corrige el error de compilación de fusión de mi manifiesto, bueno.

Ahora puedo construir con Ironsource (muchos adaptadores con él), Facebook SDK, GameAnalytics, Adjust, Firebase, lo que sea. Básicamente, solo obtenga el último Unity Jar Resolver, verifique la configuración, elimine la resolución automática, elimine la resolución en la compilación, configure la plantilla principal del parche y use jetifier en verdadero, fuerce la resolución, agregue las dependencias / repositorios adicionales que desee, haga el truco de gradleproperties, compile dentro de Unity, listo .

@ doom-goober sí, intentamos todo, incluida la solución que mencionaste, pero aún no funciona

@ doom-goober sí, intentamos todo, incluida la solución que mencionaste, pero aún no funciona

¿ Probaste la opción

Esto también me está pasando a mí. Probé todas las soluciones anteriores sin éxito. Facebook SDK está inyectando dependencias antiguas que chocan con androidX y EDM4U no puede resolverlas.

Ejemplo a continuación:
implementation 'com.android.support:appcompat-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency implementation 'com.android.support:cardview-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency implementation 'com.android.support:cardview-v7:26.0.2' // Assets/Packages/XXX.CustomerSupport/Helpshift/Editor/HelpshiftDependencies.xml:9

Facebook agregó cardview y otro complemento local también lo agregó. Jetifier parece no hacer nada.
La solución sugerida por OneSignal tampoco resuelve este problema.

Sí, he recurrido a hacer mi propia versión personalizada de Facebook.Unity.Editor.dll para que no inyecte las implementaciones en conflicto.
Pero vaya, no fue fácil construir el SDK de Facebook ... pero funcionó al final :)

Estoy luchando con el mismo problema, sin embargo, la clase duplicada es diferente:

java.lang.RuntimeException: Duplicate class androidx.vectordrawable.graphics.drawable.Animatable2Compat found in modules classes.jar (:vectordrawable-animated-1.0.0:) and classes.jar (androidx.vectordrawable:vectordrawable-animated:1.1.0)

Facebook no parece importar esta biblioteca.

Probé trucos de jetifier, intenté crear mainTemplate.gradle, incluidas las contrapartes androidx de las bibliotecas heredadas, incluso la biblioteca vectordrawable, pero todavía recibo el mismo error.

mainTemplate.gradle se ve así:

// Android Resolver Repos Start
([rootProject] + (rootProject.subprojects as List)).each {
    ext {
        it.setProperty("android.useAndroidX", true)
        it.setProperty("android.enableJetifier", true)
    }
}
([rootProject] + (rootProject.subprojects as List)).each { project ->
    project.repositories {
        def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
        maven {
            url "https://maven.google.com"
        }
        maven {
            url (unityProjectPath + "/Assets/GeneratedLocalRepo/Firebase/m2repository") // Assets/Firebase/Editor/AnalyticsDependencies.xml:18, Assets/Firebase/Editor/AppDependencies.xml:22, Assets/Firebase/Editor/AuthDependencies.xml:20, Assets/Firebase/Editor/MessagingDependencies.xml:20
        }
        mavenLocal()
        jcenter()
        mavenCentral()
    }
}
// Android Resolver Repos End
apply plugin: 'com.android.library'
**APPLY_PLUGINS**
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
// Android Resolver Dependencies Start
    //implementation 'com.android.support:appcompat-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
    //implementation 'com.android.support:cardview-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
    //implementation 'com.android.support:customtabs:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
    //implementation 'com.android.support:support-v4:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
    //implementation 'com.android.support:support-v4:27.1+' // Assets/Editor/VoxelBusters/NativePlugins/NPDependencies.xml:6

    implementation 'androidx.appcompat:appcompat:1.0.0'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'androidx.browser:browser:1.0.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.vectordrawable:vectordrawable-animated:1.0.0'

    implementation 'com.facebook.android:facebook-applinks:[8.0, 9)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:6
    implementation 'com.facebook.android:facebook-core:[8.0, 9)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:5
    implementation 'com.facebook.android:facebook-gamingservices:[8.0, 9)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:9
    implementation 'com.facebook.android:facebook-login:[8.0, 9)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:7
    implementation 'com.facebook.android:facebook-share:[8.0, 9)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:8
    implementation 'com.google.android.gms:play-services-base:17.4.0' // Assets/Firebase/Editor/AppDependencies.xml:17
    implementation 'com.google.firebase:firebase-analytics:17.5.0' // Assets/Firebase/Editor/MessagingDependencies.xml:15
    implementation 'com.google.firebase:firebase-analytics-unity:6.16.0' // Assets/Firebase/Editor/AnalyticsDependencies.xml:18
    implementation 'com.google.firebase:firebase-app-unity:6.16.0' // Assets/Firebase/Editor/AppDependencies.xml:22
    implementation 'com.google.firebase:firebase-auth:19.3.2' // Assets/Firebase/Editor/AuthDependencies.xml:13
    implementation 'com.google.firebase:firebase-auth-unity:6.16.0' // Assets/Firebase/Editor/AuthDependencies.xml:20
    implementation 'com.google.firebase:firebase-common:19.3.1' // Assets/Firebase/Editor/AppDependencies.xml:13
    implementation 'com.google.firebase:firebase-messaging:20.2.4' // Assets/Firebase/Editor/MessagingDependencies.xml:13
    implementation 'com.google.firebase:firebase-messaging-unity:6.16.0' // Assets/Firebase/Editor/MessagingDependencies.xml:20
    implementation 'com.parse.bolts:bolts-android:1.4.0' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:4
// Android Resolver Dependencies End
**DEPS**}

// Android Resolver Exclusions Start
android {
  packagingOptions {
      exclude ('/lib/armeabi/*' + '*')
      exclude ('/lib/mips/*' + '*')
      exclude ('/lib/mips64/*' + '*')
      exclude ('/lib/x86/*' + '*')
      exclude ('/lib/x86_64/*' + '*')
  }
}
// Android Resolver Exclusions End
android {
    compileSdkVersion **APIVERSION**
    buildToolsVersion '**BUILDTOOLS**'

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        minSdkVersion **MINSDKVERSION**
        targetSdkVersion **TARGETSDKVERSION**
        ndk {
            abiFilters **ABIFILTERS**
        }
        versionCode **VERSIONCODE**
        versionName '**VERSIONNAME**'
        consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**
    }

    lintOptions {
        abortOnError false
    }

    aaptOptions {
        ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
    }**PACKAGING_OPTIONS**
}**REPOSITORIES****SOURCE_BUILD_SETUP**
**EXTERNAL_SOURCES**

Otras ideas ¿qué se puede hacer? Básicamente, acabo de agregar el SDK de Facebook a mi proyecto y obtuve este error desde el principio.

Tengo la última resolución de jar, sdk de facebook y sdk de base de fuego.

Todavía estoy usando el mismo método que sugerí anteriormente (Dios bendiga las propiedades de Gradle) y nunca tuve problemas desde entonces, lo único que ha cambiado es que dejé de usar el SDK de Android de Unity y lo descargué yo mismo y cambié la ruta a él en preferencia, para ser capaz de establecer el objetivo en api 30 un poco más pacíficamente. Sin embargo, eso no debería afectar mucho. Lo principal es que la configuración de EDM use jetifier, mainTemplate parche y fuerza la resolución antes de compilar (si prefiere no tener la resolución automática como yo). En la configuración de publicación, uso propiedades personalizadas de Gradle, plantilla principal, manifiesto de Android personalizado (ya no toco la plantilla principal o el manifiesto de Android, dejo que se llenen con edm y la configuración de edición de menú de Facebook '"regenerar manifiesto de Android". error de clase duplicada con todo lo que se está haciendo, entonces probablemente tenga algunos adicionales en su proyecto que debería eliminar. Si usa Ajustar, por ejemplo, puede resolver el referente de instalación y aún tener otro en la carpeta de complementos de su proyecto que debe eliminar, pero sí, la mayoría de las veces si usas la configuración que sugerí, todos estos problemas simplemente ... desaparecen.

TL; DR: Plantilla personalizada de propiedades de Gradle y agregue:

android.useAndroidX=true
android.enableJetifier=true

Plantilla principal personalizada, deje que EDM4U lo parchee, Jetifier activado, Forzar resolución antes de compilar
Manifiesto principal personalizado, deje que Facebook Regenere el manifiesto desde su menú Editar configuración, también asegúrese de que no haya errores allí como PATH o cualquier cosa molesta que tenga Facebook
Te prometo que puedes construir con un millón de sdks como yo lo hago a diario, y yo solo soy un desarrollador de juegos junior al azar que pasó por estas cosas demasiado y recurrió a Android Studio hasta que aparecieron las propiedades personalizadas de Gradle.

Bien, finalmente encontré un problema: tenía un archivo aar vectordrawable flotando en los archivos, esto estaba causando el problema. No estoy seguro de qué biblioteca lo copió, pero eliminé este archivo y todos los errores desaparecieron. Gracias por las pistas de todos modos :)

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

JuGGerNaunT picture JuGGerNaunT  ·  3Comentarios

charanjeet5ingh picture charanjeet5ingh  ·  6Comentarios

alchemyincarnate picture alchemyincarnate  ·  4Comentarios

Duke74 picture Duke74  ·  4Comentarios

derwaldgeist picture derwaldgeist  ·  4Comentarios