Kompatibilitas Android Unity Editor

Unity Editor terkunci versi ke versi Gradle tertentu yang dapat bertentangan dengan dependensi yang diperlukan oleh paket Android yang lebih baru, seperti Google Mobile Ads. Panduan berikut akan memberi tahu Anda cara membuat build Android di Unity Editor versi sebelumnya.

Tabel berikut merekomendasikan versi plugin Google Mobile Ads maksimum yang kompatibel untuk digunakan berdasarkan Unity Editor Anda.

Unity Editor Versi plugin Google Mobile Ads Unity yang direkomendasikan
2023.1 atau yang lebih tinggi Terbaru
2021.3.41f1 - 2022.3 9.1.0
2021.3.37f1 atau yang lebih lama 8.5.3

Prasyarat

Memperbarui setelan build 2022.3 dan yang lebih lama

Unity 2022.3 dan yang lebih lama memerlukan perubahan setelan build sebelum mengekspor ke Android Studio.

Membuat baseProjectTemplate.gradle

  1. Aktifkan template Gradle kustom. Buka Project Settings > Player > Android > Publishing Settings > Build, lalu pilih: Custom Base Gradle Template. Tindakan ini akan menghasilkan file Plugins/Android/baseProjectTemplate.gradle.

  2. Ubah file Plugins/Android/baseProjectTemplate.gradle untuk menggunakan alat Gradle versi 8.1.1 atau yang lebih tinggi.

    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
    }
    

Perubahan tambahan untuk Unity 2021.3.37f1 dan yang lebih lama

Unity 2021.3.37f1 dan yang lebih lama memerlukan perubahan tambahan untuk mengupgrade kompatibilitas ke Gradle 8.1.1. Selesaikan langkah berikut:

Membuat launcherTemplate.gradle

  1. Buka Project Settings > Player > Android > Publishing Settings > Build, dan pilih Launcher Gradle Template. Tindakan ini akan menghasilkan file Plugins/Android/launcherTemplate.gradle.

  2. Ubah Plugins/Android/launcherTemplate.gradle untuk menyertakan atribut namespace. Nilai atribut namespace harus cocok dengan atribut paket yang ditemukan dalam file AndroidManifest.xml modul peluncur.

    android {
        // TODO: Replace with your app's package name.
        namespace 'com.google.android.gms.example'
    }
    

Membuat mainTemplate.gradle

  1. Buka Project Settings > Player > Android > Publishing Settings > Build, dan pilih: Main Gradle Template. Tindakan ini akan menghasilkan file Plugins/Android/mainTemplate.gradle.

.

  1. Ubah Plugins/Android/mainTemplate.gradle untuk menyertakan atribut namespace dengan nilai com.unity3d.player.

    android {
        namespace 'com.unity3d.player'
    }
    

Mengekspor ke Android Studio

  1. Ubah setelan build Android untuk mengekspor project Unity.

  2. Untuk mengekspor ke Android Studio, ubah setelan build Android. Pilih File (atau Unity Editor di macOS) > Build Settings dan centang Export Project:

  3. Tekan tombol Ekspor di bagian bawah dialog Setelan Build. Unity membuat project Android di lokasi yang dipilih.

  4. Buka project yang diekspor di Android Studio.

Mengupdate konfigurasi JDK Gradle untuk menggunakan JDK 17

  1. Dengan menggunakan Android Studio, buka setelan Gradle dari File (atau Android Studio di macOS) > Settings > Build, Execution, Deployment > Build Tools > Gradle.
  2. Cari drop-down Gradle JDK. Ubah JDK Gradle untuk menggunakan JDK 17.

    Jika Anda belum menginstal JDK 17, pilih opsi Download JDK dari menu drop-down Gradle JDK dan download versi yang kompatibel. Sebaiknya gunakan vendor runtime JetBrains dengan dukungan arch64, agar cocok dengan yang didistribusikan Android Studio.

Memperbarui file wrapper Gradle

Ubah parameter distributionUrl di dalam gradle/wrapper/gradle-wrapper.properties untuk menggunakan Gradle 8.0.1 atau yang lebih tinggi.

   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

Perubahan Android Studio tambahan untuk Unity 2021.3.37f1 dan yang lebih lama

Unity 2021.3.37f1 dan yang lebih lama memerlukan perubahan tambahan untuk mengupgrade kompatibilitas ke Gradle 8.1.1. Selesaikan langkah berikut:

  1. Ubah gradle.properties dan hapus atribut android.enableR8=false.

  2. Ubah unityLibrary/GoogleMobileAdsPlugin.androidlib/build.gradle dan tambahkan atribut namespace dengan nilai "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
        }
    }
    

Menjalankan Project Android

Setelah menyelesaikan langkah-langkah ini, aplikasi Unity siap. Dari Android Studio, jalankan sinkronisasi gradle, dan jalankan project.