Der Unity-Editor ist an eine bestimmte Version von Gradle gebunden. In früheren Versionen des Unity-Editors werden frühere Versionen von Gradle verwendet, die nicht mit der aktuellen Version von Google Mobile Ads kompatibel sind.
So erstellen Sie Android-Apps:
2023.1 oder höher
Gradle-Build-Postprozessor aktivieren
Der Gradle-Build-Postprozessor ist im Unity-Editor 2021.3.41f1 und höher standardmäßig aktiviert. Der Prozessor wendet automatisch alle erforderlichen Gradle- und Playereinstellungen an, um das aktuelle Google Mobile Ads SDK in früheren Versionen des Unity-Editors zu unterstützen.
Android- und Gradle-Einstellungen manuell konfigurieren
Benutzerdefinierte Gradle-Vorlagen aktivieren
Gehen Sie zu Projekteinstellungen > Player > Android > Veröffentlichungseinstellungen > Build und aktivieren Sie Custom Main Gradle Template
und Custom Gradle Properties Template
.

Ziel-API-Level 34 festlegen
Öffnen Sie im Hauptmenü Bearbeiten > Projekteinstellungen > Player > Android > Sonstige Einstellungen und legen Sie die Ziel-API-Ebene auf API-Ebene 34 oder höher fest.

2021.3.41f1 – 2022.3
Gradle-Build-Postprozessor aktivieren
Der Gradle-Build-Postprozessor ist im Unity-Editor 2021.3.41f1 und höher standardmäßig aktiviert. Der Prozessor wendet automatisch alle erforderlichen Gradle- und Playereinstellungen an, um das aktuelle Google Mobile Ads SDK in früheren Versionen des Unity-Editors zu unterstützen.
Android- und Gradle-Einstellungen manuell konfigurieren
Benutzerdefinierte Gradle-Vorlagen aktivieren
Gehen Sie zu Projekteinstellungen > Player > Android > Veröffentlichungseinstellungen > Build und aktivieren Sie Custom Main Gradle Template
und Custom Gradle Properties Template
.

Ziel-API-Level 34 festlegen
Öffnen Sie im Hauptmenü Bearbeiten > Projekteinstellungen > Player > Android > Sonstige Einstellungen und legen Sie die Ziel-API-Ebene auf API-Ebene 34 oder höher fest.

Jetifier-Ignorierliste zu „gradleTemplate.properties“ hinzufügen
Bearbeiten Sie Assets/Plugins/Android/gradleTemplate.properties
und fügen Sie die folgende Zeile hinzu:
android.jetifier.ignorelist=annotation-experimental-1.4.0.aar
Entfernen Sie „minSDKVersion“ aus „AndroidManifest.xml“.
Bearbeiten Sie Assets/Plugins/Android/GoogleMobileAdsPlugin.androidlib/AndroidManifest.xml
und entfernen Sie android:minSdkVersion="21"
aus dem Knoten uses-sdk
.
Ihr AndroidManifest.xml
sollte so aussehen:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.unity.ads" android:versionName="1.0" android:versionCode="1"> <uses-sdk /> <application> <uses-library android:required="false" android:name="org.apache.http.legacy"/> </application> </manifest>
2019.4 – 2021.3.37f1
Vorbereitung
Bevor Sie fortfahren, benötigen Sie Folgendes:
- Laden Sie die aktuelle stabile Version von Android Studio herunter und installieren Sie sie.
- Optional: Weitere Informationen zum Erstellen für Android finden Sie unter Java-Versionen in Android-Builds.
Benutzerdefinierte Gradle-Vorlagen aktivieren
Gehen Sie zu Projekteinstellungen > Player > Android > Veröffentlichungseinstellungen > Build und aktivieren Sie Custom Main Gradle Template
und Custom Gradle Properties Template
.

Ziel-API-Level 34 festlegen
Öffnen Sie im Hauptmenü Bearbeiten > Projekteinstellungen > Player > Android > Sonstige Einstellungen und legen Sie die Ziel-API-Ebene auf API-Ebene 34 oder höher fest.

In Android Studio exportieren
Ändern Sie die Android-Build-Einstellungen, indem Sie File (oder Unity Editor unter MacOS) > Build Settings auswählen und „Export Project“ (Projekt exportieren) aktivieren:

Wenn Sie eine Warnung erhalten, dass das Android SDK-Plattform-API-Level 34 fehlt, wählen Sie die Option Android SDK aktualisieren aus.
Android Studio öffnen
Dieser Abschnitt enthält Schritte, die in Android Studio ausgeführt werden.
Gradle-JDK-Konfiguration aktualisieren
Öffnen Sie die Gradle-Einstellungen über Datei (oder Android Studio unter MacOS) > Einstellungen > Build > Ausführung > Bereitstellung > Build-Tools > Gradle. Suchen Sie das Drop-down-Menü Gradle JDK und legen Sie das Gradle JDK auf JDK 17 oder höher fest.

Wenn Sie JDK 17 nicht installiert haben, wählen Sie in der Menüleiste „Gradle JDK“ die Option Download JDK aus und laden Sie eine kompatible Version herunter. Wir empfehlen den Anbieter JetBrains Runtime mit Unterstützung für aarch64, da dies der Anbieter ist, der auch von Android Studio verwendet wird.
build.gradle auf Projektebene aktualisieren
Legen Sie die Version der Gradle-Tools auf 8.1.1
oder höher fest.
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 }
/gradle/gradle-wrapper.properties
aktualisieren
Legen Sie distributionUrl
fest, um Gradle 8.1.1 oder höher zu verwenden.
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
launcher/build.gradle
aktualisieren
- Legen Sie das Attribut
namespace
mit dem Wert des Attributspackage
auslauncher/AndroidManifest.xml
fest. - Setzen Sie
sourceCompatibility
undtargetCompatibility
auf Java 17.
apply plugin: 'com.android.application' dependencies { implementation project(':unityLibrary') } android { namespace "com.google.android.gms.example" compileSdkVersion 35 buildToolsVersion '35.0.0' compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } defaultConfig { minSdkVersion 28 targetSdkVersion 35 applicationId 'com.google.android.gms.example' ndk { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } versionCode 1 versionName '1.0' } aaptOptions { noCompress = ['.unity3d', '.ress', '.resource', '.obb', '.bundle', '.unityexp'] ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~" } lintOptions { abortOnError false } buildTypes { debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt') signingConfig signingConfigs.debug jniDebuggable true } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt') signingConfig signingConfigs.debug } } packagingOptions { doNotStrip '*/armeabi-v7a/*.so' doNotStrip '*/arm64-v8a/*.so' doNotStrip '*/x86/*.so' doNotStrip '*/x86_64/*.so' jniLibs { useLegacyPackaging true } } bundle { language { enableSplit = false } density { enableSplit = false } abi { enableSplit = true } } } apply from: '../unityLibrary/GoogleMobileAdsPlugin.androidlib/packaging_options.gradle'
settings.gradle
auf Projektebene aktualisieren
Legen Sie die Abschnitte pluginManagement
und dependencyResolutionManagement
fest.
pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } } include ':launcher', ':unityLibrary' include 'unityLibrary:GoogleMobileAdsPlugin.androidlib' dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) repositories { google() mavenCentral() flatDir { dirs "${project(':unityLibrary').projectDir}/libs" } } }
Datei unityLibrary/build.gradle aktualisieren
- Legen Sie
namespace
auf den Wert"com.unity3d.player"
fest. - Setzen Sie
sourceCompatibility
undtargetCompatibility
aufJavaVersion.VERSION_17
.
apply plugin: 'com.android.library' dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) // Android Resolver Dependencies Start implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'com.google.android.gms:play-services-ads:23.6.0' implementation 'com.google.android.ump:user-messaging-platform:3.1.0' // Android Resolver Dependencies End implementation(name: 'googlemobileads-unity', ext:'aar') implementation project('GoogleMobileAdsPlugin.androidlib') } // Android Resolver Exclusions Start android { packagingOptions { exclude ('/lib/armeabi/*' + '*') exclude ('/lib/mips/*' + '*') exclude ('/lib/mips64/*' + '*') exclude ('/lib/x86/*' + '*') } } // Android Resolver Exclusions End android { namespace "com.unity3d.player" compileSdkVersion 34 buildToolsVersion '30.0.2' compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } defaultConfig { minSdkVersion 28 targetSdkVersion 34 ndk { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64' } versionCode 1 versionName '1.0' consumerProguardFiles 'proguard-unity.txt' } lintOptions { abortOnError false } aaptOptions { ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~" } packagingOptions { doNotStrip '*/armeabi-v7a/*.so' doNotStrip '*/arm64-v8a/*.so' doNotStrip '*/x86_64/*.so' } } apply from: 'GoogleMobileAdsPlugin.androidlib/packaging_options.gradle' gradle.projectsEvaluated { apply from: 'GoogleMobileAdsPlugin.androidlib/validate_dependencies.gradle' }
Datei „unity/Library/GoogleMobileAdsPlugin.androidlib/build.gradle“ aktualisieren
Legen Sie das Attribut namespace
mit dem Wert "com.google.unity.ads"
fest.
apply plugin: 'android-library' dependencies { implementation fileTree(dir: 'bin', include: ['<em>.jar']) implementation fileTree(dir: 'libs', include: ['</em>.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 34 buildToolsVersion '30.0.2' defaultConfig { targetSdkVersion 31 } lintOptions { abortOnError false } }
Android-Projekt ausführen
Führen Sie in Android Studio eine Gradle-Synchronisierung aus und führen Sie das Projekt aus.