Редактор Unity — это версия, привязанная к определенной версии Gradle , которая может конфликтовать с зависимостями, необходимыми для новых пакетов Android, таких как Google Mobile Ads. В следующем руководстве рассказывается, как создать сборку Android на более ранних версиях редактора Unity.
В следующей таблице рекомендована максимальная совместимая версия плагина Google Mobile Ads для использования в зависимости от вашего редактора Unity.
Редактор Unity | Рекомендуемая версия плагина Google Mobile Ads Unity |
---|---|
2023.1 или выше | Последний |
2021.3.41ф1 - 2022.3 | 9.1.0 |
2021.3.37f1 или ранее | 8.5.3 |
Предварительные условия
- Загрузите и установите последнюю стабильную версию Android Studio .
- Чтобы лучше понять сборку для Android, прочтите версии Java в сборках Android .
Обновление настроек сборки 2022.3 и более ранних версий.
Unity 2022.3 и более ранние версии требуют изменения настроек сборки перед экспортом в Android Studio.
Создайте baseProjectTemplate.gradle.
Включите пользовательские шаблоны Gradle. Перейдите в «Настройки проекта» > «Плеер» > «Android» > «Настройки публикации» > «Сборка» и выберите « Пользовательский базовый шаблон Gradle» . При этом создается файл
Plugins/Android/baseProjectTemplate.gradle
.Измените файл
Plugins/Android/baseProjectTemplate.gradle
, чтобы использовать инструменты Gradle версии 8.1.1 или выше.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 }
Дополнительные изменения для Unity 2021.3.37f1 и более ранних версий
Unity 2021.3.37f1 и более ранние версии требуют дополнительных изменений для обновления совместимости с Gradle 8.1.1 . Выполните следующие шаги:
Создать шаблон запуска.gradle
Перейдите в «Настройки проекта» > «Плеер» > «Android» > «Настройки публикации» > «Сборка» и выберите «Шаблон Gradle средства запуска» . При этом создается файл
Plugins/Android/launcherTemplate.gradle
.Измените
Plugins/Android/launcherTemplate.gradle
, включив атрибут пространства имен. Значение атрибута пространства имен должно соответствовать атрибуту пакета, указанному в файлеAndroidManifest.xml
модуля запуска.android { // TODO: Replace with your app's package name. namespace 'com.google.android.gms.example' }
Создать mainTemplate.gradle
- Перейдите в «Настройки проекта» > «Плеер» > «Android» > «Настройки публикации» > «Сборка» и выберите «Основной шаблон Gradle» . При этом создается файл
Plugins/Android/mainTemplate.gradle
.
.
Измените
Plugins/Android/mainTemplate.gradle
, включив атрибут пространства имен со значениемcom.unity3d.player
.android { namespace 'com.unity3d.player' }
Экспорт в Android Studio
Измените настройки сборки Android , чтобы экспортировать проект Unity.
Чтобы экспортировать в Android Studio, измените настройки сборки Android. Выберите «Файл» (или «Редактор Unity» в macOS) > «Настройки сборки» и установите флажок «Экспортировать проект» :
Нажмите кнопку «Экспорт» в нижней части диалогового окна «Настройки сборки». Unity создает проект Android в выбранном месте.
Откройте экспортированный проект в Android Studio.
Обновите конфигурацию Gradle JDK для использования JDK 17.
- Используя Android Studio, откройте настройки Gradle в разделе «Файл» (или Android Studio в macOS) > «Настройки» > «Сборка, выполнение, развертывание» > «Инструменты сборки» > Gradle .
Найдите раскрывающийся список Gradle JDK . Измените Gradle JDK для использования JDK 17 .
Если у вас не установлен JDK 17, выберите параметр «Загрузить JDK» в раскрывающемся меню Gradle JDK и загрузите совместимую версию. Мы рекомендуем поставщика среды выполнения JetBrains с поддержкой
arch64
, чтобы он соответствовал тому, что распространяет Android Studio.
Обновить файлы оболочки Gradle
Измените параметрраспределениеUrl внутри gradle/wrapper/gradle-wrapper.properties
чтобы использовать Gradle 8.0.1 или выше.
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
Дополнительные изменения Android Studio для Unity 2021.3.37f1 и более ранних версий
Unity 2021.3.37f1 и более ранние версии требуют дополнительных изменений для обновления совместимости с Gradle 8.1.1. Выполните следующие шаги:
Измените
gradle.properties
и удалите атрибутandroid.enableR8=false
.Измените
unityLibrary/GoogleMobileAdsPlugin.androidlib/build.gradle
и добавьте атрибут пространства имен со значением"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 } }
Запустите проект Android
После выполнения этих шагов приложение Unity готово. В Android Studio запустите gradle sync и запустите проект .
,Редактор Unity — это версия, привязанная к определенной версии Gradle , которая может конфликтовать с зависимостями, необходимыми для новых пакетов Android, таких как Google Mobile Ads. В следующем руководстве рассказывается, как создать сборку Android на более ранних версиях редактора Unity.
В следующей таблице рекомендована максимальная совместимая версия плагина Google Mobile Ads для использования в зависимости от вашего редактора Unity.
Редактор Unity | Рекомендуемая версия плагина Google Mobile Ads Unity |
---|---|
2023.1 или выше | Последний |
2021.3.41ф1 - 2022.3 | 9.1.0 |
2021.3.37f1 или ранее | 8.5.3 |
Предварительные условия
- Загрузите и установите последнюю стабильную версию Android Studio .
- Чтобы лучше понять сборку для Android, прочтите версии Java в сборках Android .
Обновление настроек сборки 2022.3 и более ранних версий.
Unity 2022.3 и более ранние версии требуют изменения настроек сборки перед экспортом в Android Studio.
Создайте baseProjectTemplate.gradle.
Включите пользовательские шаблоны Gradle. Перейдите в «Настройки проекта» > «Плеер» > «Android» > «Настройки публикации» > «Сборка» и выберите « Пользовательский базовый шаблон Gradle» . При этом создается файл
Plugins/Android/baseProjectTemplate.gradle
.Измените файл
Plugins/Android/baseProjectTemplate.gradle
, чтобы использовать инструменты Gradle версии 8.1.1 или выше.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 }
Дополнительные изменения для Unity 2021.3.37f1 и более ранних версий
Unity 2021.3.37f1 и более ранние версии требуют дополнительных изменений для обновления совместимости с Gradle 8.1.1 . Выполните следующие шаги:
Создать шаблон запуска.gradle
Перейдите в «Настройки проекта» > «Плеер» > «Android» > «Настройки публикации» > «Сборка» и выберите «Шаблон Gradle средства запуска» . При этом создается файл
Plugins/Android/launcherTemplate.gradle
.Измените
Plugins/Android/launcherTemplate.gradle
, включив атрибут пространства имен. Значение атрибута пространства имен должно соответствовать атрибуту пакета, указанному в файлеAndroidManifest.xml
модуля запуска.android { // TODO: Replace with your app's package name. namespace 'com.google.android.gms.example' }
Создать mainTemplate.gradle
- Перейдите в «Настройки проекта» > «Плеер» > «Android» > «Настройки публикации» > «Сборка» и выберите «Основной шаблон Gradle» . При этом создается файл
Plugins/Android/mainTemplate.gradle
.
.
Измените
Plugins/Android/mainTemplate.gradle
, включив атрибут пространства имен со значениемcom.unity3d.player
.android { namespace 'com.unity3d.player' }
Экспорт в Android Studio
Измените настройки сборки Android , чтобы экспортировать проект Unity.
Чтобы экспортировать в Android Studio, измените настройки сборки Android. Выберите «Файл» (или «Редактор Unity» в macOS) > «Настройки сборки» и установите флажок «Экспортировать проект» :
Нажмите кнопку «Экспорт» в нижней части диалогового окна «Настройки сборки». Unity создает проект Android в выбранном месте.
Откройте экспортированный проект в Android Studio.
Обновите конфигурацию Gradle JDK для использования JDK 17.
- Используя Android Studio, откройте настройки Gradle в разделе «Файл» (или Android Studio в macOS) > «Настройки» > «Сборка, выполнение, развертывание» > «Инструменты сборки» > Gradle .
Найдите раскрывающийся список Gradle JDK . Измените Gradle JDK для использования JDK 17 .
Если у вас не установлен JDK 17, выберите параметр «Загрузить JDK» в раскрывающемся меню Gradle JDK и загрузите совместимую версию. Мы рекомендуем поставщика среды выполнения JetBrains с поддержкой
arch64
, чтобы он соответствовал тому, что распространяет Android Studio.
Обновить файлы оболочки Gradle
Измените параметрраспределениеUrl внутри gradle/wrapper/gradle-wrapper.properties
чтобы использовать Gradle 8.0.1 или выше.
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
Дополнительные изменения Android Studio для Unity 2021.3.37f1 и более ранних версий
Unity 2021.3.37f1 и более ранние версии требуют дополнительных изменений для обновления совместимости с Gradle 8.1.1. Выполните следующие шаги:
Измените
gradle.properties
и удалите атрибутandroid.enableR8=false
.Измените
unityLibrary/GoogleMobileAdsPlugin.androidlib/build.gradle
и добавьте атрибут пространства имен со значением"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 } }
Запустите проект Android
После выполнения этих шагов приложение Unity готово. В Android Studio запустите gradle sync и запустите проект .