Unity 편집기는 특정 버전의 Gradle로 버전 잠깁니다. 이전 버전의 Unity 편집기에서는 최신 버전의 Google 모바일 광고와 호환되지 않는 이전 버전의 Gradle을 사용합니다.
다음 표에는 Unity 편집기에 따라 사용할 수 있는 최대 호환 Google 모바일 광고 플러그인 버전이 나와 있습니다.
이전 Unity 편집기를 비롯하여 최신 Google 모바일 광고 Unity 플러그인을 사용하도록 Gradle을 수동으로 업데이트할 수 있습니다. Android를 빌드하려면 원하는 Unity 편집기 버전을 선택합니다.
기본 요건
계속하기 전에 다음 사항을 확인하세요.
- 선택사항: Android용 빌드에 관한 자세한 내용은 Android 빌드의 Java 버전을 참고하세요.
맞춤 Gradle 템플릿 사용 설정
Project Settings(프로젝트 설정) > Player(플레이어) > Android > Publishing Settings(게시 설정) > Build(빌드)로 이동하여 Custom Main Gradle Template
및 Custom Gradle Properties Template
를 사용 설정합니다.

대상 API 수준 34 설정
기본 메뉴에서 Edit(수정) > Project Settings(프로젝트 설정) > Player(플레이어) > Android > Other Settings(기타 설정)을 열고 Target API Level(타겟 API 수준)을 API Level 34 이상으로 설정합니다.

Android 프로젝트 실행
Android 스튜디오에서 Gradle 동기화를 실행하고 프로젝트를 실행합니다.
기본 요건
계속하기 전에 다음 사항을 확인하세요.
- Android 스튜디오의 최신 안정화 버전을 다운로드하고 설치합니다.
- 선택사항: Android용 빌드에 관한 자세한 내용은 Android 빌드의 Java 버전을 참고하세요.
맞춤 Gradle 템플릿 사용 설정
Project Settings(프로젝트 설정) > Player(플레이어) > Android > Publishing Settings(게시 설정) > Build(빌드)로 이동하여 Custom Main Gradle Template
및 Custom Gradle Properties Template
를 사용 설정합니다.

대상 API 수준 34 설정
기본 메뉴에서 Edit(수정) > Project Settings(프로젝트 설정) > Player(플레이어) > Android > Other Settings(기타 설정)을 열고 Target API Level(타겟 API 수준)을 API Level 34 이상으로 설정합니다.

Android 스튜디오로 내보내기
File(파일)(또는 macOS의 경우 Unity Editor) > Build Settings(빌드 설정)를 선택하고 Export Project(프로젝트 내보내기)를 선택하여 Android 빌드 설정을 수정합니다.

Android 스튜디오 열기
이 섹션에는 Android 스튜디오 내에서 실행되는 단계가 포함되어 있습니다.
Gradle JDK 구성 업데이트
File (또는 MacOS의 Android 스튜디오) > Settings > Build > Execution > Deployment > Build Tools > Gradle에서 Gradle 설정을 엽니다. Gradle JDK 드롭다운을 찾아 Gradle JDK가 JDK 17 이상을 사용하도록 설정합니다.

JDK 17이 설치되어 있지 않으면 Gradle JDK 메뉴 바에서 JDK 다운로드 옵션을 선택하고 호환되는 버전을 다운로드합니다. Android 스튜디오에서 배포하는 것과 일치하도록aarch64를 지원하는 JetBrains 런타임 공급업체를 사용하는 것이 좋습니다.
프로젝트 수준 build.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
}
/gradle/gradle-wrapper.properties
업데이트
distributionUrl
를 설정하여 Gradle 8.1.1 이상을 사용합니다.
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
Android 프로젝트 실행
Android 스튜디오에서 Gradle 동기화를 실행하고 프로젝트를 실행합니다.
기본 요건
계속하기 전에 다음 사항을 확인하세요.
- Android 스튜디오의 최신 안정화 버전을 다운로드하고 설치합니다.
- 선택사항: Android용 빌드에 관한 자세한 내용은 Android 빌드의 Java 버전을 참고하세요.
맞춤 Gradle 템플릿 사용 설정
Project Settings(프로젝트 설정) > Player(플레이어) > Android > Publishing Settings(게시 설정) > Build(빌드)로 이동하여 Custom Main Gradle Template
및 Custom Gradle Properties Template
를 사용 설정합니다.

대상 API 수준 34 설정
기본 메뉴에서 Edit(수정) > Project Settings(프로젝트 설정) > Player(플레이어) > Android > Other Settings(기타 설정)을 열고 Target API Level(타겟 API 수준)을 API Level 34 이상으로 설정합니다.

Android 스튜디오로 내보내기
File(파일)(또는 macOS의 경우 Unity Editor) > Build Settings(빌드 설정)를 선택하고 Export Project(프로젝트 내보내기)를 선택하여 Android 빌드 설정을 수정합니다.

Android SDK 플랫폼 API 수준 34가 누락되었다는 경고가 표시되면 'Update Android SDK'(Android SDK 업데이트) 옵션을 선택합니다.
Android 스튜디오 열기
이 섹션에는 Android 스튜디오 내에서 실행되는 단계가 포함되어 있습니다.
Gradle JDK 구성 업데이트
File (또는 MacOS의 Android 스튜디오) > Settings > Build > Execution > Deployment > Build Tools > Gradle에서 Gradle 설정을 엽니다. Gradle JDK 드롭다운을 찾아 Gradle JDK가 JDK 17 이상을 사용하도록 설정합니다.

JDK 17이 설치되어 있지 않으면 Gradle JDK 메뉴 바에서 JDK 다운로드 옵션을 선택하고 호환되는 버전을 다운로드합니다. Android 스튜디오에서 배포하는 것과 일치하도록aarch64를 지원하는 JetBrains 런타임 공급업체를 사용하는 것이 좋습니다.
프로젝트 수준 build.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
}
/gradle/gradle-wrapper.properties
업데이트
distributionUrl
를 설정하여 Gradle 8.1.1 이상을 사용합니다.
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
launcher/build.gradle
업데이트
launcher/AndroidManifest.xml
의package
속성 값을 사용하여namespace
속성을 설정합니다.sourceCompatibility
및targetCompatibility
를 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
업데이트
pluginManagement
및 dependencyResolutionManagement
섹션을 설정합니다.
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 업데이트
namespace
를"com.unity3d.player"
값으로 설정합니다.sourceCompatibility
및targetCompatibility
를JavaVersion.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' }
unity/Library/GoogleMobileAdsPlugin.androidlib/build.gradle 업데이트
namespace
속성을 "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 34
buildToolsVersion '30.0.2'
defaultConfig {
targetSdkVersion 31
}
lintOptions {
abortOnError false
}
}
Android 프로젝트 실행
Android 스튜디오에서 Gradle 동기화를 실행하고 프로젝트를 실행합니다.