Der Unity-Editor ist auf eine bestimmte Version von Gradle festgelegt, was zu Konflikten mit Abhängigkeiten führen kann, die von neueren Android-Paketen wie Google Mobile Ads benötigt werden. In der folgenden Anleitung wird beschrieben, wie Sie mit früheren Versionen des Unity-Editors einen Android-Build erstellen.
In der folgenden Tabelle wird die maximal kompatible Google Mobile Ads-Plug-in-Version empfohlen, die Sie je nach Unity-Editor verwenden können.
Unity-Editor | Empfohlene Version des Google Mobile Ads Unity-Plug-ins |
---|---|
2023.1 oder höher | Neueste |
2021.3.41f1 – 2022.3 | 9.1.0 |
2021.3.37f1 oder älter | 8.5.3 |
Vorbereitung
- Laden Sie die neueste stabile Version von Android Studio herunter und installieren Sie sie.
- Weitere Informationen zum Erstellen von Android-Builds finden Sie unter Java-Versionen in Android-Builds.
Build-Einstellungen für 2022.3 und älter aktualisieren
Bei Unity 2022.3 und niedriger müssen Sie die Build-Einstellungen ändern, bevor Sie in Android Studio exportieren können.
baseProjectTemplate.gradle generieren
Aktivieren Sie benutzerdefinierte Gradle-Vorlagen. Gehen Sie zu Projekteinstellungen > Player > Android > Einstellungen für die Veröffentlichung > Build und wählen Sie Benutzerdefinierte Basis-Gradle-Vorlage aus. Dadurch wird die
Plugins/Android/baseProjectTemplate.gradle
-Datei generiert.Ändern Sie die Datei
Plugins/Android/baseProjectTemplate.gradle
, damit Gradle-Tools der Version 8.1.1 oder höher verwendet werden.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 }
Weitere Änderungen für Unity 2021.3.37f1 und niedriger
Für Unity 2021.3.37f1 und älter sind zusätzliche Änderungen erforderlich, um die Kompatibilität mit Gradle 8.1.1 zu verbessern. Gehen Sie folgendermaßen vor:
launcherTemplate.gradle generieren
Gehen Sie zu Projekteinstellungen > Player > Android > Einstellungen für die Veröffentlichung > Build und wählen Sie Launcher Gradle-Vorlage aus. Dadurch wird die
Plugins/Android/launcherTemplate.gradle
-Datei generiert.Ändern Sie
Plugins/Android/launcherTemplate.gradle
so, dass das Namespaceattribut enthalten ist. Der Wert des Namespace-Attributs muss mit dem Paketattribut in derAndroidManifest.xml
-Datei des Launcher-Moduls übereinstimmen.android { // TODO: Replace with your app's package name. namespace 'com.google.android.gms.example' }
mainTemplate.gradle generieren
- Gehen Sie zu Projekteinstellungen > Player > Android > Einstellungen für die Veröffentlichung > Build und wählen Sie Main Gradle Template aus. Dadurch wird die
Plugins/Android/mainTemplate.gradle
-Datei generiert.
.
Ändern Sie
Plugins/Android/mainTemplate.gradle
so, dass es das Namespaceattribut mit dem Wertcom.unity3d.player
enthält.android { namespace 'com.unity3d.player' }
In Android Studio exportieren
Ändern Sie die Android-Build-Einstellungen, um das Unity-Projekt zu exportieren.
Wenn Sie nach Android Studio exportieren möchten, ändern Sie die Android-Build-Einstellungen. Wählen Sie Datei (oder Unity Editor unter macOS) > Build-Einstellungen aus und setzen Sie ein Häkchen bei Projekt exportieren:
Klicken Sie unten im Dialogfeld „Build-Einstellungen“ auf die Schaltfläche Exportieren. Unity generiert ein Android-Projekt am ausgewählten Speicherort.
Öffnen Sie das exportierte Projekt in Android Studio.
Gradle-JDK-Konfiguration auf JDK 17 aktualisieren
- Öffnen Sie in Android Studio 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. Ändern Sie das Gradle-JDK, damit JDK 17 verwendet wird.
Wenn JDK 17 nicht installiert ist, wählen Sie im Drop-down-Menü „Gradle JDK“ die Option JDK herunterladen aus und laden Sie eine kompatible Version herunter. Wir empfehlen den Anbieter der JetBrains-Laufzeit mit
arch64
-Unterstützung, da diese mit der von Android Studio bereitgestellten übereinstimmt.
Gradle-Wrapper-Dateien aktualisieren
Ändern Sie den Parameter „distributionUrl“ in gradle/wrapper/gradle-wrapper.properties
, um Gradle 8.0.1 oder höher zu verwenden.
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
Weitere Android Studio-Änderungen für Unity 2021.3.37f1 und niedriger
Für Unity 2021.3.37f1 und älter sind zusätzliche Änderungen erforderlich, um die Kompatibilität auf Gradle 8.1.1 zu aktualisieren. Gehen Sie folgendermaßen vor:
Ändern Sie das
gradle.properties
-Attribut und entfernen Sie dasandroid.enableR8=false
-Attribut.Ändern Sie
unityLibrary/GoogleMobileAdsPlugin.androidlib/build.gradle
und fügen Sie ein Namespaceattribut mit dem Wert"com.google.unity.ads"
hinzu: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 } }
Android-Projekt ausführen
Nach Abschluss dieser Schritte ist die Unity-Anwendung einsatzbereit. Führen Sie in Android Studio Gradle-Synchronisierung und das Projekt aus.