Edytor Unity jest zablokowany na konkretną wersję Gradle, która może wchodzić w kolizję z zależnościami wymaganymi przez nowsze pakiety Androida, np. reklamy mobilne Google. Z tego przewodnika dowiesz się, jak wygenerować wersję na Androida w starszych wersjach edytora Unity.
W tabeli poniżej zalecamy maksymalną zgodną wersję wtyczki reklam mobilnych Google, której należy używać w zależności od używanej wersji edytora Unity.
Edytor Unity | Zalecana wersja wtyczki reklam mobilnych Google dla środowiska Unity |
---|---|
2023.1 lub nowsza | Najnowsze |
2021.3.41f1 – 2022.3 | 9.1.0 |
2021.3.37f1 lub starsza | 8.5.3 |
Wymagania wstępne
- Pobierz i zainstaluj najnowszą stabilną wersję Android Studio.
- Aby lepiej zrozumieć proces kompilacji na Androida, przeczytaj artykuł Wersje języka Java w kompilacji na Androida.
Aktualizacja ustawień wersji 2022.3 i starszych
W wersji Unity 2022.3 i starszych przed wyeksportowaniem projektu do Android Studio należy zmienić ustawienia kompilacji.
Wygeneruj plik baseProjectTemplate.gradle.
Włączanie niestandardowych szablonów Gradle. Kliknij Ustawienia projektu > Gracz > Android > Ustawienia publikacji > Kompilacja i wybierz Niestandardowy szablon bazowy Gradle. Spowoduje to wygenerowanie pliku
Plugins/Android/baseProjectTemplate.gradle
.Zmodyfikuj plik
Plugins/Android/baseProjectTemplate.gradle
, aby używać narzędzi Gradle w wersji 8.1.1 lub nowszej.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 }
Dodatkowe zmiany w wersjach Unity 2021.3.37f1 i starszych
Aby uaktualizować zgodność do wersji Gradle 8.1.1, musisz wprowadzić dodatkowe zmiany w wersji Unity 2021.3.37f1 lub starszej. Wykonaj te czynności:
Generowanie pliku launcherTemplate.gradle
Kliknij Ustawienia projektu > Odtwarzacz > Android > Ustawienia publikacji > Kompilacja i wybierz Szablon Gradle dla Launchera. Spowoduje to wygenerowanie pliku
Plugins/Android/launcherTemplate.gradle
.Zmień
Plugins/Android/launcherTemplate.gradle
, aby uwzględnić atrybut przestrzeni nazw. Wartość atrybutu przestrzeni nazw powinna być zgodna z atrybutem pakietu znajdującym się w plikuAndroidManifest.xml
modułu programu uruchamiającego.android { // TODO: Replace with your app's package name. namespace 'com.google.android.gms.example' }
Wygeneruj plik mainTemplate.gradle
- Kliknij Ustawienia projektu > Odtwarzacz > Android > Ustawienia publikacji > Kompilacja i wybierz Główny szablon Gradle. Spowoduje to wygenerowanie pliku
Plugins/Android/mainTemplate.gradle
.
.
Zmień
Plugins/Android/mainTemplate.gradle
, aby uwzględnić atrybut przestrzeni nazw o wartościcom.unity3d.player
.android { namespace 'com.unity3d.player' }
Eksportowanie do Android Studio
Aby wyeksportować projekt Unity, zmień ustawienia kompilacji na Androida.
Aby wyeksportować projekt do Android Studio, zmień ustawienia kompilacji Androida. Kliknij Plik (lub Edytor Unity na komputerze Mac) > Ustawienia kompilacji i zaznacz pole wyboru Eksportuj projekt:
U dołu okna Ustawienia kompilacji kliknij przycisk Eksportuj. Unity wygeneruje projekt na Androida w wybranej lokalizacji.
Otwórz wyeksportowany projekt w Android Studio.
Aktualizacja konfiguracji JDK w Gradle w celu użycia JDK 17
- W Android Studio otwórz ustawienia Gradle w sekcji Plik (lub Android Studio w systemie macOS).> Ustawienia > Kompilacja, wykonanie, wdrożenie > Narzędzia kompilacji > Gradle.
Odszukaj menu Gradle JDK. Zmodyfikuj Gradle JDK, aby używać JDK 17.
Jeśli nie masz zainstalowanej wersji JDK 17, w menu JDK Gradle wybierz opcję Pobierz JDK i pobierz zgodną wersję. Zalecamy użycie czasu wykonywania JetBrains od dostawcy, który obsługuje
arch64
, aby dopasować je do tego, co rozpowszechnia Android Studio.
Aktualizowanie plików oprogramowania uruchamiającego Gradle
Zmodyfikuj parametr distributionUrl w pliku gradle/wrapper/gradle-wrapper.properties
, aby używać Gradle w wersji 8.0.1 lub nowszej.
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
Dodatkowe zmiany w Android Studio w wersji Unity 2021.3.37f1 i starszych
Unity w wersji 2021.3.37f1 lub starszej wymaga dodatkowych zmian, aby dostosować się do Gradle 8.1.1. Wykonaj te czynności:
Zmodyfikuj atrybut
gradle.properties
i usuń atrybutandroid.enableR8=false
.Zmień
unityLibrary/GoogleMobileAdsPlugin.androidlib/build.gradle
i dodaj atrybut przestrzeni nazw o wartości"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 } }
Uruchamianie projektu na Androida
Po wykonaniu tych czynności aplikacja Unity jest gotowa. W Android Studio uruchom Gradle Sync i uruchom projekt.