Unity 編輯器的版本會鎖定為特定版本的 Gradle。舊版 Unity 編輯器會使用舊版 Gradle,而舊版 Gradle 與最新版 Google 行動廣告不相容。
下表列出 Unity 編輯器可使用的最高相容 Google 行動廣告外掛程式版本:
您可以手動更新 Gradle,以便使用最新版的 Google 行動廣告 Unity 外掛程式,包括舊版 Unity 編輯器。如要建構 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 Level 34 以上。

執行 Android 專案
在 Android Studio 中執行 Gradle 同步處理,然後執行專案。
必要條件
繼續操作之前,請確認您具備下列項目:
- 下載並安裝最新的 Android Studio 穩定版。
- 選用:如要進一步瞭解如何為 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 Level 34 以上。

匯出至 Android Studio
如要修改 Android 建構設定,請依序選取「File」(或 macOS 上的 Unity Editor) >「Build Settings」,然後勾選「Export Project」:

開啟 Android Studio
本節包含在 Android Studio 中執行的步驟。
更新 Gradle JDK 設定
依序開啟「File」(或 macOS 上的「Android Studio」) >「Settings」>「Build」>「Execution」>「Deployment」>「Build Tools」>「Gradle」,即可開啟 Gradle 設定。找出「Gradle JDK」下拉式選單,然後將 Gradle JDK 設為使用 JDK 17 以上版本。

如果您尚未安裝 JDK 17,請從 Gradle JDK 選單列選取「Download JDK」選項,然後下載相容的版本。我們建議使用支援 aarch64 的 JetBrains 執行階段供應商,以便與 Android Studio 發布的版本相符。
更新專案層級的 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 Studio 中執行 Gradle 同步處理,然後執行專案。
必要條件
繼續操作之前,請確認您具備下列項目:
- 下載並安裝最新的 Android Studio 穩定版。
- 選用:如要進一步瞭解如何為 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 Level 34 以上。

匯出至 Android Studio
如要修改 Android 建構設定,請依序選取「File」(或 macOS 上的 Unity Editor) >「Build Settings」,然後勾選「Export Project」:

如果您收到 Android SDK 平台 API 級別 34 缺少的警告,請選取「Update Android SDK」選項。
開啟 Android Studio
本節包含在 Android Studio 中執行的步驟。
更新 Gradle JDK 設定
依序開啟「File」(或 macOS 上的「Android Studio」) >「Settings」>「Build」>「Execution」>「Deployment」>「Build Tools」>「Gradle」,即可開啟 Gradle 設定。找出「Gradle JDK」下拉式選單,然後將 Gradle JDK 設為使用 JDK 17 以上版本。

如果您尚未安裝 JDK 17,請從 Gradle JDK 選單列選取「Download JDK」選項,然後下載相容的版本。我們建議使用支援 aarch64 的 JetBrains 執行階段供應商,以便與 Android Studio 發布的版本相符。
更新專案層級的 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 Studio 中執行 Gradle 同步處理,然後執行專案。