İçeriğe geç

Kurulum rehberleri · Godot

Godot oyunları için Google Play kapalı testi

Godot 4 Android App Bundle dışa aktarabilir, ama yalnız sürüm anahtar deposuyla yapılan bir Gradle derlemesi üzerinden. Dışa aktarma ön ayarından kapalı test kanalına giden yolun tamamı ve 12 test ediciyi 14 gün opt-in tutmanın yolu burada.

Derleme
Export Format: AAB (Use Gradle Build)
Sürüm kodu
Version → Code
Hedef API
Gradle Build → Target SDK ≥ 36

Android App Bundle dışa aktar

  1. Godot'yu Java'ya ve Android SDK'ya yönlendir

    Bir JDK (OpenJDK 17 önerilir) ve Android SDK kur, ardından Editor Settings'in Android bölümünde Java SDK Path ve Android SDK Path değerlerini ayarla. Yeni sürümler ikisini de senin için indirebilir.

  2. Dışa aktarma şablonlarını indir

    Editor → Manage Export Templates'i aç ve editör sürümünle birebir aynı şablonları kur.

  3. Android derleme şablonunu kur

    Project → Install Android Build Template'i seç (yeni sürümlerde adı Setup Android Build…). Godot Gradle projesini res://android/build içinde oluşturur.

  4. Ön ayarı oluştur

    Project → Export içinde bir Android ön ayarı ekle. Gradle Build altında Use Gradle Build'i aç ve Export Format değerini AAB yap.

  5. Dışa aktar

    Export Project'e tıkla, Export With Debug işaretini kaldır ve .aab dosyasını kaydet.

AAB dışa aktarma yalnız Gradle derlemesiyle çalışır. Varsayılan hazır şablon APK üretir; Google Play ise Ağustos 2021'den beri yeni uygulamalar için App Bundle istiyor.

Bir derleme sunucusunda aynı ön ayar arayüzsüz (headless) dışa aktarılabilir:

Terminal
godot --headless --export-release "Android" builds/mygame.aab

Sürüm anahtar deposu ve Play Uygulama İmzalama

Google Play debug olmayan bir imza ister. keytool ile bir sürüm anahtar deposu oluştur:

Terminal
keytool -v -genkey -keystore mygame.keystore -alias mygame -keyalg RSA -validity 10000

Android ön ayarında Keystore altında Release (dosya yolu), Release User (takma ad) ve Release Password alanlarını doldur. Godot şu an anahtar deposu şifresiyle anahtar şifresinin aynı olmasını istiyor; en güvenlisi yalnız harf ve rakam kullanmak.

Bu anahtar deposu senin yükleme anahtarındır. İlk yüklemede Play Uygulama İmzalama kurulur ve uygulama imzalama anahtarını Google saklar. CI'da sırları export_presets.cfg dosyasına koyma, bunun yerine ortam değişkeni olarak ver:

CI environment
GODOT_ANDROID_KEYSTORE_RELEASE_PATH=/secrets/mygame.keystore
GODOT_ANDROID_KEYSTORE_RELEASE_USER=mygame
GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD=*****

Sürüm kodu ve hedef SDK

Ön ayarda Version → Code, Google'ın karşılaştırdığı tam sayıdır; Play Console tekrar kullanılan kodları reddettiği için her yüklemede artır. Version → Name oyuncuların gördüğü değerdir.

31 Ağustos 2026'dan beri yeni uygulamalar ve güncellemeler Android 16'yı (API düzeyi 36) hedeflemek zorunda. Gradle Build altındaki Target SDK targetSdkVersion değerini belirler; boş bırakılırsa şablonun varsayılanı geçerli olur. Godot sürümünün varsayılanı 36'dan düşükse değeri açıkça yaz ya da Godot'yu güncelle, sonra dışa aktarılan paketi yeni bir cihazda test et.

Godot tuzakları

  • Uyumsuz şablonlar. Dışa aktarma şablonları ve Android derleme şablonu editör sürümüyle aynı olmalı. Godot'yu güncelledikten sonra ikisini de yeniden kur.
  • Açık kalan Export With Debug. Paket o zaman debug anahtar deposuyla imzalanır ve Play Console onu reddeder.
  • Eksik arm64-v8a. Architectures altında arm64-v8a açık kalsın; Google Play 64 bit native kod ister.
  • Alt çizgiyle başlayan klasörler. Gradle derlemelerinde adı _ ile başlayan bir klasördeki varlıklar pakete girmez. Test ediciler de eksik doku ya da sahnelerle karşılaşır.
  • Şifrelerde özel karakterler. Dışa aktarmanın belirsiz hatalarla başarısız olmasına yol açabilir. Harf ve rakam kullan.
  • C# projeleri. C# için Android dışa aktarma Godot 4.2'den beri var ama hala deneysel. Sürüm paketini erkenden gerçek cihazlarda test et.

Test edicilerden gelen çökmeleri ve hataları ayıkla

Bir Godot dışa aktarımı betiklerini önceden derlenmiş bir motor kitaplığının üzerinde çalıştırır; bu yüzden test edici raporlarının çoğu motor çökmesi değil, betik hatası, eksik kaynak ya da cihaza özgü görüntü sorunu çıkar. Bunları görmenin en hızlı yolu, düzenleyici bağlıyken kendi telefonundur.

  1. Tek tıkla dağıt

    Telefonda geliştirici modunu ve USB hata ayıklamayı aç, bağla ve Android ön ayarının Runnable olarak işaretli olduğundan emin ol. Düzenleyicinin sağ üst köşesinde bir Android düğmesi belirir ve tek tıkla dışa aktarıp kurar.

  2. Uzaktan hata ayıklamayı aç

    Debug → Deploy with Remote Debug açıkken telefondaki oyun bilgisayarına geri bağlanır; düzenleyicinin hata ayıklayıcısı, kesme noktaları ve hata çıktısı masaüstündeki gibi çalışır.

  3. USB güvenilmezse kablosuz geç

    Telefonda kablosuz hata ayıklamayı aç, gösterdiği kodla adb pair kullanarak eşle ve adb devices ile doğrula. adb devices telefonu listelemiyorsa Godot da onu göremez.

  4. Her yüklemeden sonra Play Console'a bak

    Motor çökmeleri İzle ve iyileştir → Android vitals → Çökmeler ve ANR'ler altında görünür. Lansman öncesi rapor da yüklenen her derlemeyi otomatik olarak test cihazlarına kurar ve çökmeleri ve uyumluluk sorunlarını işaretler.

Terminal
# Wireless debugging: pair once with the code shown on the phone
adb pair <ip address>:<port>
adb devices

# Watch the device log while you reproduce a tester's report
adb logcat

Export With Debug olmadan dışa aktarılan bir derleme düzenleyiciye bağlanmaz. Release derlemesinin belirli bir telefonda neden başarısız olduğunu görmek için onu oraya kur ve test edicinin adımlarını tekrarlarken adb logcat çıktısını izle.

Kısaca Play Console: kapalı testten üretime

Godot paketin derlenip imzalandıktan sonra gerisi Play Console'da geçer ve her çatıda aynıdır. Bu, kısa kontrol listesi; her menü ve ekran Play Console adımlarının tamamında anlatılıyor.

  • Uygulama kurulumunu bitir: Kontrol Paneli'nde gizlilik politikası, uygulama erişimi, reklamlar, içerik derecelendirmesi, hedef kitle, veri güvenliği ve mağaza girişi.
  • Kapalı test sürümü oluştur: Test et ve yayınla → Test → Kapalı test altında test edicilerinin ülkelerini seç, .aab dosyasını yükle ve incelemeye gönder.
  • Test edicileri Google Group ile ekle: Test ediciler sekmesinde grubu ekle ve opt-in bağlantısını paylaş. Bağlantı, kanal Yayınlandı durumuna geçince çalışır.
  • En az 12 test ediciyi 14 gün kesintisiz opt-in tut. Dahili test sayılmaz; ayrılıp geri dönen birinin 14 günü baştan başlar.
  • Test sırasında en az bir güncelleme yayınla ve test edicilerin ne bulduğunu, senin neyi değiştirdiğini not et.
  • Üretime başvur: Kontrol Paneli'nden başvur ve testin, uygulaman ve hazırlığın hakkındaki üç bölümü yanıtla. Karar Google'ındır; kimse onayı garanti edemez.

Ayrılanları hesaba kat: 12 kişiden fazlasını bul ki biri ayrıldığında takvimin uzamasın. Play Console adımlarının tamamını gör.

Play Console adımlarının tamamı

Kapalı test kanalı, Google Group ve opt-in bağlantısı, 12 test edici / 14 gün kuralı ve üretim başvurusu, tek sayfada adım adım.

Play Console adımlarını aç

Test sırasında hızlı güncelleme yayınla

Ön ayardaki Version → Code değerini artır, .aab dosyasını yeniden dışa aktar ve aynı kapalı test kanalına yükle.

Kendi denemelerin için Debug → Small Deploy with Network Filesystem USB üzerinden küçük bir çalıştırılabilir dosya dağıtır ve proje dosyalarını düzenleyiciden ağ üzerinden aktarır; büyük oyunlarda çok zaman kazandırır. Bu tamamen bir geliştirme özelliğidir: test ediciler her zaman kapalı test kanalında dışa aktarılmış tam bir .aab dosyasına ihtiyaç duyar.

  • Kenardan kenara. Ön ayardaki Screen → Edge to Edge seçeneği oyunun yarı saydam sistem çubuklarının arkasına çizmesini sağlar. Açarsan önemli arayüz öğelerini DisplayServer.get_display_safe_area() ile dönen alanın içinde tut ki hiçbir şey bir çubuğun ya da kamera çentiğinin altında kalmasın.
  • Yerel kitaplıkları sıkıştırma. Gradle Build → Compress Native Libraries paketi küçültür ama açılışı yavaşlatır, çünkü kitaplıkların kullanılmadan önce açılması gerekir. Google Play için Godot belgeleri bunu kapalı bırakmayı önerir.
  • Dışa aktarımı betiğe bağla. İmzalama bölümündeki gibi anahtar deposunu ortam değişkenlerinde tutan başsız (headless) bir dışa aktarım her seferinde aynı paketi üretir ve sürüm kodunu artırmayı rutinin parçası yapar.
  • Test ortasında Godot'u yükseltme. Yeni bir düzenleyici sürümü, test ediciler için yeni dışa aktarım şablonları, yeni bir Android derleme şablonu ve yeni bir motor kitaplığı demektir. Yükseltmeyi testten önce ya da üretim erişiminden sonra yap.

Sık sorulan sorular

Google Play için Gradle derlemesi gerekli mi?

Evet. Google Play .aab ister ve Godot bunu yalnız Use Gradle Build açıkken dışa aktarır. Hazır şablon yalnız APK dışa aktarır; bunları yine de kendi cihazlarına elle kurabilirsin.

Android düzenleyicisinden dışa aktarabilir miyim?

Godot 4.6'dan beri, aynı cihaza Godot Android Build Environment (GABE) uygulamasını kurarsan Gradle derlemeleri Android düzenleyicisinden de çalışır. Hazır APK dışa aktarımları için gerekmez.

Oyunumun INTERNET iznine ihtiyacı var mı?

Yalnız ağı kullanıyorsa. Çevrim içi özellikler, skor tabloları ya da reklamlar için ön ayarda Permissions → Internet seçeneğini aç; yoksa uygulama, test edicilerin aldığı release derlemesinde ağ soketi açamaz.

Hangi mimarileri dışa aktarmalıyım?

arm64-v8a açık kalsın: Google Play 64 bit yerel kod ister ve güncel telefonların çoğu bunu kullanır. Kitlende hala eski 32 bit telefonlar varsa armeabi-v7a onlar için destek ekler.

Kaynaklar

Teknik ayrıntılar aşağıdaki resmi belgelerle kontrol edildi. Menüler ve varsayılanlar sürümden sürüme değişir; şüphede kalırsan resmi sayfa esastır.

12 test edici kuralında yeni misin?

Genel rehber Google'ın şartını, bir TestBunny kampanyasının gün gün nasıl ilerlediğini ve neyi garanti edip edemediğimizi anlatır.

Genel rehberi oku

14 gün için 12 gerçek test ediciye mi ihtiyacın var?

Uygulamanı ve kapalı test bağlantını ekle, Starter (15 test edici) ya da Pro (25 test edici) planını seç, her test edicinin etkinliğini panelinde gün gün izle.

TestBunny'nin Google ile bir bağlantısı yoktur. Test ediciler nakit değil, kredi kazanır. Google'ın üretim erişimi kararını kimse garanti edemez, biz de etmeyiz.