Unity Editor được khoá phiên bản cho một phiên bản cụ thể của Gradle. Các phiên bản cũ của Unity Editor sử dụng các phiên bản cũ của Gradle không tương thích với phiên bản mới nhất của Quảng cáo trên thiết bị di động của Google.
Để tạo Android, hãy chọn phiên bản Trình chỉnh sửa Unity mà bạn muốn:
2023.1 trở lên
Bật trình xử lý bài đăng bản dựng Gradle
Trình xử lý hậu kỳ bản dựng Gradle được bật theo mặc định trong Unity Editor 2021.3.41f1 trở lên. Trình xử lý sẽ tự động áp dụng tất cả các chế độ cài đặt cần thiết của Gradle và trình phát để hỗ trợ SDK Quảng cáo của Google trên thiết bị di động mới nhất trên các phiên bản cũ hơn của Unity Editor.
Định cấu hình chế độ cài đặt Android và Gradle theo cách thủ công
Bật mẫu Gradle tuỳ chỉnh
Chuyển đến Project Settings > Player > Android > Publishing Settings > Build (Cài đặt dự án > Trình phát > Android > Cài đặt xuất bản > Bản dựng) và bật Custom Main Gradle Template
và Custom Gradle Properties Template
.

Đặt cấp độ API mục tiêu là 34
Trên trình đơn chính, hãy mở Edit > Project Settings > Player > Android > Other Settings (Chỉnh sửa > Cài đặt dự án > Trình phát > Android > Cài đặt khác) rồi đặt Target API Level (Cấp độ API mục tiêu) thành API Level 34 (Cấp độ API 34) trở lên.

2021.3.41f1 – 2022.3
Bật trình xử lý bài đăng bản dựng Gradle
Trình xử lý hậu kỳ bản dựng Gradle được bật theo mặc định trong Unity Editor 2021.3.41f1 trở lên. Trình xử lý sẽ tự động áp dụng tất cả các chế độ cài đặt cần thiết của Gradle và trình phát để hỗ trợ SDK Quảng cáo của Google trên thiết bị di động mới nhất trên các phiên bản cũ hơn của Unity Editor.
Định cấu hình chế độ cài đặt Android và Gradle theo cách thủ công
Bật mẫu Gradle tuỳ chỉnh
Chuyển đến Project Settings > Player > Android > Publishing Settings > Build (Cài đặt dự án > Trình phát > Android > Cài đặt xuất bản > Bản dựng) và bật Custom Main Gradle Template
và Custom Gradle Properties Template
.

Đặt cấp độ API mục tiêu là 34
Trên trình đơn chính, hãy mở Edit > Project Settings > Player > Android > Other Settings (Chỉnh sửa > Cài đặt dự án > Trình phát > Android > Cài đặt khác) rồi đặt Target API Level (Cấp độ API mục tiêu) thành API Level 34 (Cấp độ API 34) trở lên.

Thêm danh sách bỏ qua jetifier vào "gradleTemplate.properties"
Chỉnh sửa Assets/Plugins/Android/gradleTemplate.properties
và thêm dòng sau:
android.jetifier.ignorelist=annotation-experimental-1.4.0.aar
Xoá "minSDKVersion" khỏi "AndroidManifest.xml"
Chỉnh sửa Assets/Plugins/Android/GoogleMobileAdsPlugin.androidlib/AndroidManifest.xml
và xoá android:minSdkVersion="21"
khỏi nút uses-sdk
.
AndroidManifest.xml
của bạn sẽ có dạng như sau:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.unity.ads" android:versionName="1.0" android:versionCode="1"> <uses-sdk /> <application> <uses-library android:required="false" android:name="org.apache.http.legacy"/> </application> </manifest>
2019.4 – 2021.3.37f1
Điều kiện tiên quyết
Trước khi tiếp tục, hãy đảm bảo bạn có những thông tin sau:
- Tải xuống và cài đặt phiên bản ổn định mới nhất của Android Studio.
- Không bắt buộc: Để biết thông tin chi tiết về cách tạo cho Android, hãy xem Phiên bản Java trong các bản dựng Android
Bật mẫu Gradle tuỳ chỉnh
Chuyển đến Project Settings > Player > Android > Publishing Settings > Build (Cài đặt dự án > Trình phát > Android > Cài đặt xuất bản > Bản dựng) và bật Custom Main Gradle Template
và Custom Gradle Properties Template
.

Đặt cấp độ API mục tiêu là 34
Trên trình đơn chính, hãy mở Edit > Project Settings > Player > Android > Other Settings (Chỉnh sửa > Cài đặt dự án > Trình phát > Android > Cài đặt khác) rồi đặt Target API Level (Cấp độ API mục tiêu) thành API Level 34 (Cấp độ API 34) trở lên.

Xuất sang Android Studio
Sửa đổi chế độ cài đặt bản dựng Android bằng cách chọn File (Tệp) (hoặc Unity Editor trên MacOS) > Build Settings (Cài đặt bản dựng) rồi đánh dấu vào Export Project (Xuất dự án):

Nếu bạn nhận được cảnh báo rằng thiếu API nền tảng SDK Android cấp 34, hãy chọn mục "Cập nhật SDK Android".
Mở Android Studio
Phần này chứa các bước được thực hiện trong Android Studio.
Cập nhật cấu hình Gradle JDK
Mở phần cài đặt Gradle từ File (Tệp) (hoặc Android Studio trên MacOS) > Settings (Cài đặt) > Build (Xây dựng) > Execution (Thực thi) > Deployment (Triển khai) > Build Tools (Công cụ xây dựng) > Gradle. Tìm trình đơn thả xuống Gradle JDK rồi đặt Gradle JDK để sử dụng JDK 17 trở lên.

Nếu bạn chưa cài đặt JDK 17, hãy chọn mục Download JDK (Tải JDK xuống) trong thanh trình đơn Gradle JDK rồi tải một phiên bản tương thích xuống. Bạn nên sử dụng nhà cung cấp thời gian chạy JetBrains có hỗ trợ aarch64, để phù hợp với những gì Android Studio phân phối.
Cập nhật tệp build.gradle cấp dự án
Đặt phiên bản công cụ Gradle thành 8.1.1
trở lên.
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 }
Cập nhật /gradle/gradle-wrapper.properties
Đặt distributionUrl
để sử dụng Gradle 8.1.1 trở lên.
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
Cập nhật launcher/build.gradle
- Đặt thuộc tính
namespace
bằng giá trị của thuộc tínhpackage
tronglauncher/AndroidManifest.xml
- Đặt
sourceCompatibility
vàtargetCompatibility
thành 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'
Cập nhật settings.gradle
ở cấp dự án
Đặt các phần pluginManagement
và 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" } } }
Cập nhật unityLibrary/build.gradle
- Đặt
namespace
với giá trị"com.unity3d.player"
- Đặt
sourceCompatibility
vàtargetCompatibility
thànhJavaVersion.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' }
Cập nhật unity/Library/GoogleMobileAdsPlugin.androidlib/build.gradle
Đặt thuộc tính namespace
với giá trị "com.google.unity.ads"
.
apply plugin: 'android-library' dependencies { implementation fileTree(dir: 'bin', include: ['<em>.jar']) implementation fileTree(dir: 'libs', include: ['</em>.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 } }
Chạy dự án Android
Trong Android Studio, hãy chạy tính năng đồng bộ hoá gradle và chạy dự án.