Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

403
Views
Problemas para construir Crashlytics en Unity en Android

Estoy intentando y fallando en lograr que Crashlytics se construya en la unidad.

Estoy usando la unidad 2018.4.30. Se agregó a Unity como un paquete (7.0.2). Otros paquetes de firebase ya estaban en el proyecto y funcionando. Inicialmente ejecuté el solucionador de dependencias e intenté construirlo. El resolutor agregó estos:

 implementation 'com.google.firebase:firebase-crashlytics:17.2.2' //Packages/com.google.firebase.crashlytics/Firebase/Editor/CrashlyticsDependencies.xml:13 implementation 'com.google.firebase:firebase-crashlytics-unity:7.0.2' //Packages/com.google.firebase.crashlytics/Firebase/Editor/CrashlyticsDependencies.xml:20

que se construyó pero se estrelló al iniciarse con un mensaje de error que me indicaba una configuración específica de Android que tenía que agregarse al archivo Gradle (es extraño que el resolutor no lo haya hecho...)

Seguí esas instrucciones y agregué

 classpath 'com.google.gms:google-services:4.3.5' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.0'

a las dependencias

también agregué

 apply plugin: 'com.google.gms.google-services' apply plugin: 'com.google.firebase.crashlytics'

al archivo gradle

mis herramientas gradle son:

 classpath 'com.android.tools.build:gradle:3.4.3'

mi mensaje de error es:

 * What went wrong: A problem occurred configuring root project 'gradleOut'. java.lang.ClassCastException: org.gradle.api.internal.file.DefaultFilePropertyFactory$DefaultDirectoryVar$1 cannot be cast to org.gradle.api.file.Directory
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Actualizar gradle wrapper a la versión 5.6.4 (de 5.4.1) resolvió mi problema con este error.

gradle-wrapper.propiedades

distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

Mis herramientas Android Build Gradle son 3.5.4

com.android.tools.build:gradle:3.5.4

over 4 years ago · Santiago Trujillo Report

0

No vale la pena que si está usando Unity, no debería tener que editar archivos gradle en absoluto. Puede agregar un archivo mainTemplate.gradle si lo desea por otras razones (me gusta hacer esto para que EDM4U no agregue un montón de bibliotecas a Assets/Plugins/Android ) pero debe ser un poco cauteloso (en las versiones más nuevas de Unity , como finales de 2019 y toda la rama de 2020, también debe agregar gradleTemplate.properties ).

Por lo general, solo debe seguir los pasos de integración de Unity en lugar de los de Android . La línea apply plugin: 'com.google.gms.google-services' en realidad entra en conflicto con lo que hace el complemento Firebase Unity. apply plugin: 'com.google.firebase.crashlytics' se puede hacer para que funcione con algo de esfuerzo, pero tampoco es necesario a menos que esté experimentando con la integración de NDK (esta es una configuración no admitida en Unity SDK y el reportero de fallas nativo no actualmente no funciona con Unity 2020 en mis propias pruebas).

Recomendaría revertir cualquier cambio de configuración de compilación que haya realizado para intentar que Crashlytics funcione con Unity e intente volver a importar. También vale la pena mantener el SDK lo más actualizado posible, aunque al mirar las notas de la versión no debería haber cambios en Crashlytics entre 7.0.2 y 7.1.0.

Si lo anterior no funciona, hubo un problema en la rama SDK 6.x con Unity 2020.1. Puede probar esta solución alternativa (tenga en cuenta que estoy reemplazando todo con mainTemplate.gradle ya que 2018 no dividió proyectos como finales de 2019 y 2020):

Ahora abra mainTemplate.gradle y busque algo que se parezca más o menos a:

 allprojects { buildscript { repositories {**ARTIFACTORYREPOSITORY** google() jcenter() } dependencies {

Dentro allprojects.buildscript.dependencies (las dependencies { bit en este ejemplo), agregue este código para informarle a Gradle sobre Crashlytics:

 // Add the Crashlytics Gradle plugin. classpath 'com.google.firebase:firebase-crashlytics-gradle:2.2.0'

y esta línea de código hasta el final de mainTemplate.gradle para agregar el complemento Crashlytics a su aplicación:

 // Apply the Crashlytics Gradle plugin apply plugin: 'com.google.firebase.crashlytics'

Si Crashlytics aún no funciona, puede presentar un informe de error . Si la segunda solución funciona o no le importa depurar su proyecto en público, puede presentar un problema de GitHub aquí .

over 4 years ago · Santiago Trujillo Report

0

en resumidas cuentas, mi resolución de dependencias no generaba crashlytics_build_id.xml y algunos otros archivos. El mensaje de error me llevó a una solución Gradle específica de Android que no estaba destinada a los clientes de Unity. Una vez que deshice mis cambios de Gradle y tuve esos archivos generados, todo estuvo bien.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!