Der Unity-Editor ist an eine bestimmte Version von Gradle gebunden. Frühere Versionen des Unity-Editors verwenden frühere Versionen von Gradle, die mit der aktuellen Version von Google Mobile Ads nicht kompatibel sind.
Wählen Sie zum Erstellen von Android-Apps Ihre bevorzugte Unity-Editor-Version aus:
2023.1 oder höher
Gradle-Build-Präprozessor aktivieren
Der Gradle-Build-Präprozessor ist im Unity-Editor 2021.3.41f1 und höher standardmäßig aktiviert. Der Prozessor wendet automatisch alle erforderlichen Gradle- und Player-Einstellungen an, um die neueste Google Mobile Ads Unity Plugin-Version 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 festlegen
Öffnen Sie im Hauptmenü Edit > Projekteinstellungen > Player > Android > Other Settings und legen Sie für Ziel-API-Level die Option API-Level 24 oder höher fest.
2021.3.41f1–2022.3
Gradle-Build-Präprozessor aktivieren
Der Gradle-Build-Präprozessor ist im Unity-Editor 2021.3.41f1 und höher standardmäßig aktiviert. Der Prozessor wendet automatisch alle erforderlichen Gradle- und Player-Einstellungen an, um die neueste Google Mobile Ads Unity Plugin-Version 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 festlegen
Öffnen Sie im Hauptmenü Edit > Projekteinstellungen > Player > Android > Other Settings und legen Sie für Ziel-API-Level die Option API-Level 24 oder höher fest.
Ignorierliste für Jetifier 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 .
Ihre AndroidManifest.xml sollte in etwa 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 festlegen
Öffnen Sie im Hauptmenü Edit > Projekteinstellungen > Player > Android > Other Settings und legen Sie für Ziel-API-Level die Option API Level 35 oder höher fest.
In Android Studio exportieren
Ändern Sie die Android-Build-Einstellungen, indem Sie Datei (oder Unity Editor unter macOS) > Build-Einstellungen auswählen und „Projekt exportieren“ aktivieren:
Wenn Sie eine Warnung erhalten, dass die Android SDK-Plattform-API-Ebene 35 fehlt, wählen Sie die Option Android SDK aktualisieren aus.
Öffnen Sie Android Studio.
In diesem Abschnitt werden die Schritte beschrieben, 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 JDK 17 oder höher als Gradle JDK fest.
Wenn Sie JDK 17 nicht installiert haben, wählen Sie in der Gradle-JDK-Menüleiste die Option Download JDK aus und laden Sie eine kompatible Version herunter. Wir empfehlen den Anbieter JetBrains Runtime mit aarch64-Unterstützung, um die von Android Studio bereitgestellte Version zu verwenden.
build.gradle-Datei auf Projektebene aktualisieren
Legen Sie die Gradle-Tools-Version 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
namespacemit dem Wert des Attributspackageauslauncher/AndroidManifest.xmlfest. - Setzen Sie
sourceCompatibilityundtargetCompatibilityauf 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" } } }
unityLibrary/build.gradle aktualisieren
- Legen Sie für
namespaceden Wert"com.unity3d.player"fest. - Setzen Sie
sourceCompatibilityundtargetCompatibilityaufJavaVersion.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 35 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' }
unity/Library/GoogleMobileAdsPlugin.androidlib/build.gradle aktualisieren
Legen Sie für das Attribut namespace den 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 die Gradle-Synchronisierung aus und starten Sie das Projekt.