Unity Editor Android Uyumluluğu

Unity Editor, Gradle'in belirli bir sürümüne kilitlenmiştir. Bu sürüm, Google Mobil Reklamlar gibi daha yeni Android paketlerinin gerektirdiği bağımlılıklarla çakışabilir. Aşağıdaki kılavuzda, Unity Editor'ın önceki sürümlerinde Android derlemesi oluşturma hakkında talimatlar verilmektedir.

Aşağıdaki tabloda, Unity Editor'ınıza göre kullanılabilecek maksimum uyumlu Google Mobile Ads eklenti sürümü önerilir.

Unity Düzenleyici Önerilen Google Mobil Reklamlar Unity eklentisi sürümü
2023.1 veya üzeri En son
2021.3.41f1 - 2022.3 9.1.0
2021.3.37f1 veya önceki sürümler 8.5.3

Ön koşullar

2022.3 ve önceki sürümlerin derleme ayarlarını güncelleme

Unity 2022.3 ve önceki sürümlerde, Android Studio'ya aktarmadan önce derleme ayarlarında değişiklik yapılması gerekir.

baseProjectTemplate.gradle dosyasını oluşturun

  1. Özel Gradle şablonlarını etkinleştirin. Proje Ayarları > Oynatıcı > Android > Yayınlama Ayarları > Derleme'ye gidin ve Özel Temel Gradle Şablonu'nu seçin. Bu işlem, Plugins/Android/baseProjectTemplate.gradle dosyasını oluşturur.

  2. Plugins/Android/baseProjectTemplate.gradle dosyasını, Gradle araçlarının 8.1.1 veya sonraki bir sürümünü kullanacak şekilde değiştirin.

    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 ve önceki sürümler için ek değişiklikler

Unity 2021.3.37f1 ve önceki sürümlerde uyumluluğu Gradle 8.1.1'e yükseltmek için ek değişiklikler yapılması gerekir. Aşağıdaki adımları tamamlayın:

launcherTemplate.gradle dosyasını oluşturma

  1. Proje Ayarları > Oynatıcı > Android > Yayınlama Ayarları > Derleme'ye gidin ve Başlatıcı Gradle Şablonu'nu seçin. Bu işlem, Plugins/Android/launcherTemplate.gradle dosyasını oluşturur.

  2. Plugins/Android/launcherTemplate.gradle öğesini, ad alanı özelliğini içerecek şekilde değiştirin. Ad alanı özelliği değeri, başlatıcı modülünün AndroidManifest.xml dosyasında bulunan paket özelliğiyle eşleşmelidir.

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

mainTemplate.gradle dosyasını oluşturma

  1. Proje Ayarları > Oynatıcı > Android > Yayınlama Ayarları > Derleme'ye gidin ve Ana Gradle Şablonu'nu seçin. Bu işlem, Plugins/Android/mainTemplate.gradle dosyasını oluşturur.

.

  1. Plugins/Android/mainTemplate.gradle değerini, com.unity3d.player değerine sahip ad alanı özelliğini içerecek şekilde değiştirin.

    android {
        namespace 'com.unity3d.player'
    }
    

Android Studio'ya aktarma

  1. Unity projesini dışa aktarmak için Android derleme ayarlarını değiştirin.

  2. Android Studio'ya aktarmak için Android derleme ayarlarını değiştirin. Dosya (veya macOS'te Unity Editor) > Derleme Ayarları'nı seçin ve Projeyi Dışa Aktar'ı işaretleyin:

  3. Derleme Ayarları iletişim kutusunun en altındaki Dışa Aktar düğmesine basın. Unity, seçilen konumda bir Android projesi oluşturur.

  4. Dışa aktarılan projeyi Android Studio'da açın.

Gradle JDK yapılandırmasını JDK 17'yi kullanacak şekilde güncelleme

  1. Android Studio'yu kullanarak Dosya (veya macOS'te Android Studio)> Ayarlar > Derleme, Yürütme, Dağıtım > Derleme Araçları > Gradle bölümünden Gradle ayarlarını açın.
  2. Gradle JDK açılır menüsünü bulun. Gradle JDK'yi JDK 17 kullanacak şekilde değiştirin.

    JDK 17 yüklü değilse Gradle JDK açılır menüsünden JDK'yi indir seçeneğini belirleyin ve uyumlu bir sürümü indirin. Android Studio'nun dağıttığı sürümle eşleşecek şekilde arch64 desteğine sahip JetBrains çalışma zamanı tedarikçisini öneririz.

Gradle sarmalayıcı dosyalarını güncelleme

Gradle 8.0.1 veya sonraki bir sürümü kullanmak için gradle/wrapper/gradle-wrapper.properties içindeki distributionUrl parametresini değiştirin.

   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

Unity 2021.3.37f1 ve önceki sürümler için ek Android Studio değişiklikleri

Unity 2021.3.37f1 ve önceki sürümlerde, uyumluluğu Gradle 8.1.1'e yükseltmek için ek değişiklikler yapılması gerekir. Aşağıdaki adımları tamamlayın:

  1. gradle.properties özelliğini değiştirin ve android.enableR8=false özelliğini kaldırın.

  2. unityLibrary/GoogleMobileAdsPlugin.androidlib/build.gradle öğesini değiştirin ve "com.google.unity.ads" değerine sahip bir ad alanı özelliği ekleyin:

    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 projesini çalıştırma

Bu adımları tamamladıktan sonra Unity uygulaması hazırdır. Android Studio'da gradle senkronizasyonunu çalıştırın ve projeyi çalıştırın.