Unity Editor มีการล็อกเวอร์ชันไว้กับ Gradle เวอร์ชันที่เจาะจง ซึ่งอาจขัดแย้งกับข้อกำหนดของแพ็กเกจ Android เวอร์ชันใหม่ เช่น Google Mobile Ads คู่มือต่อไปนี้จะอธิบายวิธีสร้างบิลด์ Android ใน Unity Editor เวอร์ชันเก่า
ตารางต่อไปนี้แนะนำเวอร์ชันปลั๊กอิน Google Mobile Ads ที่ใช้งานร่วมกันได้สูงสุดตาม Unity Editor ที่คุณใช้
Unity Editor | เวอร์ชันปลั๊กอิน Unity ของ Google Mobile Ads ที่แนะนํา |
---|---|
2023.1 ขึ้นไป | ล่าสุด |
2021.3.41f1 - 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 ที่กําหนดเอง ไปที่การตั้งค่าโปรเจ็กต์ > Player > 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 ทำตามขั้นตอนต่อไปนี้
สร้าง launcherTemplate.gradle
ไปที่การตั้งค่าโปรเจ็กต์ > Player > Android > การตั้งค่าการเผยแพร่ > บิลด์ และเลือกเทมเพลต Gradle ของ Launcher ซึ่งจะสร้างไฟล์
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
- ไปที่การตั้งค่าโปรเจ็กต์ > Player > 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 Editor ใน macOS) > การตั้งค่าการสร้าง แล้วเลือกส่งออกโปรเจ็กต์
กดปุ่มส่งออกที่ด้านล่างของกล่องโต้ตอบการตั้งค่าการสร้าง Unity จะสร้างโปรเจ็กต์ Android ในตำแหน่งที่เลือก
เปิดโปรเจ็กต์ที่ส่งออกใน Android Studio
อัปเดตการกำหนดค่า JDK ของ Gradle เพื่อใช้ JDK 17
- เมื่อใช้ Android Studio ให้เปิดการตั้งค่า Gradle จากไฟล์ (หรือ Android Studio ใน macOS) > การตั้งค่า > บิลด์ การดำเนินการ การนำส่ง > เครื่องมือสร้าง > Gradle
ค้นหาเมนูแบบเลื่อนลง Gradle JDK แก้ไข JDK ของ Gradle ให้ใช้ JDK 17
หากยังไม่ได้ติดตั้ง JDK 17 ให้เลือกตัวเลือกดาวน์โหลด JDK จากเมนูแบบเลื่อนลงของ Gradle JDK แล้วดาวน์โหลดเวอร์ชันที่เข้ากันได้ เราขอแนะนำให้ใช้รันไทม์ JetBrains กับผู้ให้บริการที่รองรับ
arch64
เพื่อให้ตรงกับสิ่งที่ Android Studio เผยแพร่
อัปเดตไฟล์ Wrapper ของ Gradle
แก้ไขพารามิเตอร์ distributionUrl ภายใน 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 และเรียกใช้โปรเจ็กต์