Android App Bundle dışa aktar
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.
Dışa aktarma şablonlarını indir
Editor → Manage Export Templates'i aç ve editör sürümünle birebir aynı şablonları kur.
Android derleme şablonunu kur
Project → Install Android Build Template'i seç (yeni sürümlerde adı Setup Android Build…). Godot Gradle projesini
res://android/buildiçinde oluşturur.Ö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.
Dışa aktar
Export Project'e tıkla, Export With Debug işaretini kaldır ve
.aabdosyası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:
godot --headless --export-release "Android" builds/mygame.aabSü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:
keytool -v -genkey -keystore mygame.keystore -alias mygame -keyalg RSA -validity 10000Android ö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:
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.
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.
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.
USB güvenilmezse kablosuz geç
Telefonda kablosuz hata ayıklamayı aç, gösterdiği kodla
adb pairkullanarak eşle veadb devicesile doğrula.adb devicestelefonu listelemiyorsa Godot da onu göremez.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.
# 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 logcatExport 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ç,
.aabdosyası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.
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.
- Godot Docs: Exporting for Android
- Godot Docs: Gradle builds for Android
- Godot Docs: EditorExportPlatformAndroid
- Android Developers: Target API level requirements
- Godot Docs: One-click deploy
- Godot Docs: Overview of debugging tools
- Play Console Help: Pre-launch reports
- Play Console Help: App testing requirements for new personal developer accounts
- Play Console Help: Set up an open, closed, or internal test
- Play Console Help: Deobfuscate or symbolicate crash stack traces
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