El editor de Unity tiene una versión bloqueada a una versión específica de Gradle, que puede entrar en conflicto con las dependencias que requieren paquetes de Android más recientes, como Google Mobile Ads. En la siguiente guía, se explica cómo producir una compilación de Android en versiones anteriores del editor de Unity.
En la siguiente tabla, se recomienda la versión máxima compatible del complemento Google Mobile Ads que debes usar según tu editor de Unity.
Editor de Unity | Versión recomendada del complemento Google Mobile Ads para Unity |
---|---|
2023.1 o una versión posterior | Más reciente |
2021.3.41f1 - 2022.3 | 9.1.0 |
2021.3.37f1 o una versión anterior | 8.5.3 |
Requisitos previos
- Descarga e instala la versión estable más reciente de Android Studio.
- Para comprender mejor la compilación para Android, consulta Versiones de Java en compilaciones de Android.
Actualiza la configuración de compilación de 2022.3 y versiones anteriores
Unity 2022.3 y versiones anteriores requieren cambios en la configuración de compilación antes de exportar a Android Studio.
Genera baseProjectTemplate.gradle
Habilita las plantillas de Gradle personalizadas. Ve a Project Settings > Player > Android > Publishing Settings > Build y selecciona Custom Base Gradle Template. Esto genera el archivo
Plugins/Android/baseProjectTemplate.gradle
.Modifica el archivo
Plugins/Android/baseProjectTemplate.gradle
para usar las herramientas de Gradle versión 8.1.1 o una posterior.plugins { id 'com.android.application' version '8.1.1' apply false id 'com.android.library' version '8.1.1' apply false } task clean(type: Delete) { delete rootProject.buildDir }
Cambios adicionales para Unity 2021.3.37f1 y versiones anteriores
Unity 2021.3.37f1 y versiones anteriores requieren cambios adicionales para actualizar la compatibilidad a Gradle 8.1.1. Completa los siguientes pasos:
Genera launcherTemplate.gradle
Ve a Project Settings > Player > Android > Publishing Settings > Build y selecciona Launcher Gradle Template. Esto genera el archivo
Plugins/Android/launcherTemplate.gradle
.Modifica
Plugins/Android/launcherTemplate.gradle
para incluir el atributo de espacio de nombres. El valor del atributo del espacio de nombres debe coincidir con el atributo del paquete que se encuentra en el archivoAndroidManifest.xml
del módulo del selector.android { // TODO: Replace with your app's package name. namespace 'com.google.android.gms.example' }
Genera mainTemplate.gradle
- Ve a Project Settings > Player > Android > Publishing Settings > Build y selecciona Main Gradle Template. Esto genera el archivo
Plugins/Android/mainTemplate.gradle
.
.
Modifica
Plugins/Android/mainTemplate.gradle
para incluir el atributo de espacio de nombres con el valorcom.unity3d.player
.android { namespace 'com.unity3d.player' }
Cómo exportar a Android Studio
Modifica la configuración de compilación de Android para exportar el proyecto de Unity.
Para exportar a Android Studio, modifica la configuración de compilación de Android. Selecciona File (o Unity Editor en macOS) > Build Settings y marca Export Project:
Presiona el botón Export en la parte inferior del diálogo Build Settings. Unity genera un proyecto de Android en la ubicación seleccionada.
Abre el proyecto exportado en Android Studio.
Actualiza la configuración de Gradle JDK para usar JDK 17
- En Android Studio, abre la configuración de Gradle desde File (o Android Studio en macOS) > Settings > Build, Execution, Deployment > Build Tools > Gradle.
Busca el menú desplegable Gradle JDK. Modifica el JDK de Gradle para usar JDK 17.
Si no tienes JDK 17 instalado, selecciona la opción Download JDK en el menú desplegable de Gradle JDK y descarga una versión compatible. Te recomendamos que uses el proveedor del entorno de ejecución de JetBrains con compatibilidad con
arch64
para que coincida con lo que distribuye Android Studio.
Actualiza los archivos del wrapper de Gradle
Modifica el parámetro distributionUrl dentro de gradle/wrapper/gradle-wrapper.properties
para usar Gradle 8.0.1 o una versión posterior.
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-bin.zip
Cambios adicionales de Android Studio para Unity 2021.3.37f1 y versiones anteriores
Unity 2021.3.37f1 y versiones anteriores requieren cambios adicionales para actualizar la compatibilidad a Gradle 8.1.1. Completa los siguientes pasos:
Modifica el
gradle.properties
y quita el atributoandroid.enableR8=false
.Modifica
unityLibrary/GoogleMobileAdsPlugin.androidlib/build.gradle
y agrega un atributo de espacio de nombres con el valor"com.google.unity.ads"
:apply plugin: 'android-library' dependencies { implementation fileTree(dir: 'bin', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar']) } android { namespace "com.google.unity.ads" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' //java.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] jniLibs.srcDirs = ['libs'] } } compileSdkVersion 35 buildToolsVersion '30.0.3' defaultConfig { targetSdkVersion 31 } lintOptions { abortOnError false } }
Ejecuta el proyecto de Android
Después de completar estos pasos, la aplicación de Unity estará lista. En Android Studio, ejecuta gradle sync y ejecuta el proyecto.