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
- Android Studio'nun en son kararlı sürümünü indirip yükleyin.
- Android için derlemeyi daha iyi anlamak istiyorsanız Android derlemelerindeki Java sürümleri başlıklı makaleyi okuyun.
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
Ö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.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
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.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ünAndroidManifest.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
- 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.
.
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
Unity projesini dışa aktarmak için Android derleme ayarlarını değiştirin.
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:
Derleme Ayarları iletişim kutusunun en altındaki Dışa Aktar düğmesine basın. Unity, seçilen konumda bir Android projesi oluşturur.
Dışa aktarılan projeyi Android Studio'da açın.
Gradle JDK yapılandırmasını JDK 17'yi kullanacak şekilde güncelleme
- 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.
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:
gradle.properties
özelliğini değiştirin veandroid.enableR8=false
özelliğini kaldırın.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.