Uygulamanızı derleyip çalıştırma

Uygulamanızın bir cihazda nasıl görüneceğini ve nasıl davranacağını görmek için uygulamayı oluşturmanız ve çalıştırmanız gerekir. Android Studio yeni projeler oluşturur. Böylece uygulamanızı yalnızca birkaç tıklamayla sanal veya fiziksel bir cihaza dağıtabilirsiniz.

Bu genel bakış, test ve hata ayıklama amacıyla uygulamanızı derlemek ve çalıştırmak için Android Studio'nun nasıl kullanılacağına odaklanmaktadır. Uygulamanızı, kullanıcılara yayınlanacak şekilde oluşturmak amacıyla Android Studio'yu kullanma hakkında bilgi için Uygulamanızı kullanıcılara yayınlanacak şekilde oluşturma bölümüne bakın. Derlemenizi Android Studio ile veya Android Studio olmadan yönetme ve özelleştirme hakkında daha ayrıntılı bilgi için Derlemenizi yapılandırma bölümüne bakın.

Temel derleme ve çalıştırma

Uygulamanızı derlemek ve çalıştırmak için aşağıdaki adımları izleyin:

  1. Araç çubuğundaki yapılandırmaları çalıştır menüsünden uygulamanızı seçin.
  2. Hedef cihaz menüsünde, uygulamanızı çalıştırmak istediğiniz cihazı seçin.

    Hedef cihaz menüsü.

    Yapılandırılmış herhangi bir cihazınız yoksa Android Emülatörü kullanmak için Android Sanal Cihazı oluşturmanız veya fiziksel bir cihaz bağlamanız gerekir.

  3. Çalıştır tıklayın.

Projenizi, hata veya uyarıyla ilişkilendirilmiş bir cihazda başlatmaya çalışırsanız Android Studio sizi uyarır. Simgeler ve stil değişiklikleri, hatalar (bozuk yapılandırmaya neden olan cihaz seçimleri) ile uyarılar (beklenmedik davranışlara neden olabilecek ancak yine de çalıştırılabilir olan cihaz seçimleri) arasında ayrım yapar.

Derleme işlemini izleme

Derleme işlemiyle ilgili ayrıntıları görüntülemek için Görünüm > Araç Pencereleri > Derleme'yi seçin veya araç pencere çubuğunda Derleme simgesini tıklayın. Derleme araç penceresi, Şekil 1'de gösterildiği gibi, Gradle'ın uygulamanızı derlemek için yürüttüğü görevleri gösterir.

Şekil 1. Android Studio'daki Derleme araç penceresi.
  1. Senkronizasyon sekmesi: Gradle'ın proje dosyalarınızla senkronize etmek için yürüttüğü görevleri gösterir. Çıktı Oluştur sekmesine benzer şekilde, senkronizasyon hatasıyla karşılaşırsanız hata hakkında daha fazla bilgi almak için ağaçtaki öğeleri seçin. Ayrıca, bağımlılık indirmelerinin derlemenizi olumsuz bir şekilde etkileyip etkilemediğini belirlemek için indirme etkisinin bir özetini de gösterir.
  2. Çıktı Çıktısı sekmesi: Gradle'ın ağaç olarak yürüttüğü görevleri görüntüler. Burada her düğüm, derleme aşamasını veya görev bağımlılıkları grubunu temsil eder. Derleme veya derleme zamanı hataları alırsanız ağacı inceleyin ve hata çıkışını okumak için Şekil 2'de gösterildiği gibi bir öğe seçin.
    Şekil 2. Hata mesajlarının olup olmadığını görmek için Çıktı Derleme sekmesini inceleyin.
  3. Derleme Analiz Aracı sekmesi: Derlemeniz hakkında derleme performansı analizi bilgileri sağlar. Daha fazla bilgi edinmek için Derleme Analiz Aracı ile derleme performansı sorunlarını giderme bölümüne bakın.
  4. Yeniden başlat: Son derleme işlemini tekrar gerçekleştirir. Oluştur > Seçili Modülü Yap'ı en son çalıştırdıysanız mevcut modül derlenir. Derleme > Proje Yap seçeneğini en son çalıştırdıysanız projenizdeki tüm modüller için ara derleme dosyaları oluşturulur.
  5. Filtreler: Başarıyla tamamlanmış uyarıları, görevleri veya her ikisini de filtreler. Bu sayede, çıkıştaki sorunları daha kolay bulabilirsiniz.

Derleme varyantlarınız ürün çeşitlerini kullanıyorsa Gradle bu ürün çeşitlerini oluşturmak için çeşitli görevleri de çağırır. Mevcut tüm derleme görevlerinin listesini görüntülemek için Görünüm > Araç Pencereleri > Gradle'ı veya araç penceresi çubuğunda Gradle simgesini tıklayın.

Derleme işlemi sırasında hata oluşursa Gradle, sorunu çözmenize yardımcı olacak --stacktrace veya --debug gibi komut satırı seçenekleri önerebilir. Derleme işleminizde komut satırı seçeneklerini kullanmak için:

  1. Ayarlar veya Tercihler iletişim kutusunu açın:
    • Windows veya Linux'ta menü çubuğundan Dosya > Ayarlar'ı seçin.
    • macOS'te, menü çubuğundan Android Studio > Tercihler'i seçin.
  2. Build, Execution, Deployment (Derleme, Yürütme, Dağıtım) > Derleyici'ye gidin.
  3. Komut satırı Seçenekleri'nin yanındaki metin alanına komut satırı seçeneklerinizi girin.
  4. Kaydedip çıkmak için Tamam'ı tıklayın.

Gradle, uygulamanızı bir sonraki derlemenizde bu komut satırı seçeneklerini uygular.

Gelişmiş derleme ve çalıştırma özellikleri

Uygulamanızı Android Studio'da oluşturup çalıştırmanın varsayılan yolu, basit bir uygulamayı test etmek için yeterli olacaktır. Ancak daha ileri düzey kullanım alanları için şu derleme ve çalıştırma özelliklerini kullanabilirsiniz:

  • Uygulamanızı hata ayıklama modunda dağıtmak için Hata ayıkla'yı tıklayın . Uygulamanızı hata ayıklama modunda çalıştırmak, kodunuzda ayrılma noktaları belirlemenize, değişkenleri incelemenize, çalışma zamanında ifadeleri değerlendirmenize ve hata ayıklama araçlarını çalıştırmanıza olanak tanır. Daha fazla bilgi için Uygulamanızda hata ayıklama bölümünü inceleyin.

  • Daha büyük ve daha karmaşık bir uygulamanız varsa Çalıştır tıklamak yerine Değişiklikleri Uygula'yı kullanın. Bu, her değişiklik dağıtmak istediğinizde uygulamanızı yeniden başlatmaktan kaçınarak size zaman kazandırır. Değişiklikleri Uygulama hakkında daha fazla bilgi için Değişiklikleri Uygulamayla artımlı olarak dağıtma bölümüne bakın.

  • Jetpack Compose'u kullanıyorsanız Canlı Düzenleme, Çalıştır yeniden tıklamadan bestelerinizi gerçek zamanlı olarak güncellemenize olanak tanıyan deneysel bir özelliktir. Bu sayede, en az kesintiyle kullanıcı arayüzü kodu yazmaya odaklanabilirsiniz. Daha fazla bilgi için Canlı Düzenleme (deneysel) bölümüne bakın.

  • Birden fazla derleme varyantı veya sürümü olan bir uygulamanız varsa Varyant Oluşturma araç penceresini kullanarak hangi derleme varyantının dağıtılacağını seçebilirsiniz. Belirli bir derleme varyantını çalıştırma hakkında daha fazla bilgi için Derleme varyantını değiştirme bölümüne bakın.

  • Uygulama yükleme, başlatma ve test seçeneklerinde ince ayar yapmak için çalıştırma/hata ayıklama yapılandırmasını değiştirebilirsiniz. Özel çalıştırma/hata ayıklama yapılandırmaları oluşturma hakkında daha fazla bilgi için Çalıştırma/hata ayıklama yapılandırmaları oluşturma bölümünü inceleyin.

  • Geliştirme ihtiyaçlarınız için Android Studio'yu kullanmanızı öneririz ancak uygulamanızı komut satırından sanal veya fiziksel bir cihaza da dağıtabilirsiniz. Daha fazla bilgi için Uygulamanızı komut satırından derleme bölümüne bakın.

Değişiklikleri Uygulama özelliğiyle kademeli olarak dağıtma

Android Studio 3.5 ve sonraki sürümlerde Değişiklikleri Uygula, uygulamanızı yeniden başlatmadan ve bazı durumlarda mevcut etkinliği yeniden başlatmadan çalışan uygulamanıza kod ve kaynak değişikliklerini aktarmanıza olanak tanır. Bu esneklik sayesinde küçük, artımlı değişiklikleri dağıtıp test etmek istediğinizde uygulamanızın ne kadarının yeniden başlatılacağını kontrol edebilir ve aynı zamanda cihazınızın mevcut durumunu koruyabilirsiniz.

Değişiklikleri Uygula, Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran cihazlarda desteklenen Android JVMTI uygulamasındaki özellikleri kullanır. Değişiklikleri Uygulama özelliğinin işleyiş şekli hakkında daha fazla bilgi edinmek için Android Studio Project Marble: Değişiklikleri Uygulama konusuna bakın.

Şartlar

Değişiklikleri Uygula işlemleri yalnızca aşağıdaki koşulları karşıladığınızda kullanılabilir:

  • Uygulamanızın APK'sını bir hata ayıklama derleme varyantı kullanarak oluşturursunuz.
  • Uygulamanızı Android 8.0 (API düzeyi 26) veya sonraki sürümleri çalıştıran bir hedef cihaza ya da emülatöre dağıtırsınız.

Değişiklikleri Uygulama özelliğini kullanma

Değişikliklerinizi uyumlu bir cihaza dağıtmak istediğinizde aşağıdaki seçenekleri kullanın:

Değişiklikleri Uygula ve Etkinliği Yeniden Başlat Değişiklikleri Uygula ve Etkinliği Yeniden Başlat simgesi: Etkinliğinizi yeniden başlatarak hem kaynak hem de kod değişikliklerinizi uygulamaya çalışır. Bu işlemi genellikle uygulamanızı yeniden başlatmadan yapabilirsiniz. Genellikle bu seçeneği, bir yöntemin gövdesindeki kodu değiştirdiğinizde veya mevcut bir kaynağı değiştirdiğinizde kullanabilirsiniz.

Bu işlemi Ctrl+Alt+F10 (macOS'te Control+Command+Üst Karakter+R) tuşlarına basarak da gerçekleştirebilirsiniz.

Kod Değişikliklerini Uygulama Kod Değişikliklerini Uygula simgesi : Hiçbir şeyi yeniden başlatmadan yalnızca sizin kod değişikliklerinizi uygulamayı dener. Genellikle bu seçeneği, bir yöntemin gövdesindeki kodu değiştirdiğinizde ancak hiçbir kaynağı değiştirmediğinizde kullanabilirsiniz. Hem kodu hem de kaynakları değiştirdiyseniz bunun yerine Değişiklikleri Uygula ve Etkinliği Yeniden Başlat'ı kullanın.

Bu işlemi Control+F10 (macOS'te Control+Command+R) tuşlarına basarak da gerçekleştirebilirsiniz.

Çalıştır : Tüm değişiklikleri dağıtır ve uygulamayı yeniden başlatır. Yaptığınız değişiklikler Değişiklikleri Uygula seçeneklerinden biri kullanılarak uygulanamadığında bu seçeneği kullanın. Uygulamanın yeniden başlatılmasını gerektiren değişiklik türleri hakkında daha fazla bilgi edinmek için Değişiklikleri Uygulamayla İlgili Sınırlamalar bölümüne bakın.

Değişiklikleri Uygulamak için yedek çalıştırmayı etkinleştir

Değişiklikleri Uygula ve Etkinliği Yeniden Başlat'ı veya Kod Değişikliklerini Uygula'yı tıkladığınızda, Android Studio yeni bir APK oluşturur ve değişikliklerin uygulanıp uygulanamayacağını belirler. Değişiklikler uygulanamıyorsa ve Değişiklikleri Uygulama işlemi başarısız olursa Android Studio, bunun yerine uygulamanızı tekrar Çalıştırmanızı Çalıştır simgesi ister.

Bu durum her meydana geldiğinde sorulmasını istemiyorsanız Android Studio'yu değişiklikler uygulanamadığında uygulamanızı otomatik olarak yeniden çalıştıracak şekilde yapılandırabilirsiniz. Bu davranışı etkinleştirmek için şu adımları uygulayın:

  1. Ayarlar veya Tercihler iletişim kutusunu açın:

    • Windows veya Linux'ta menüden Dosya > Ayarlar'ı seçin.
    • macOS'te, menüden Android Studio > Tercihler'i seçin.
  2. Build, Execution, Deployment > Deployment'a (Derleme, Yürütme, Dağıtım > Dağıtım) gidin.

  3. Değişiklikleri Uygula işlemlerinden biri veya her ikisi için de otomatik yedek çalıştırmayı etkinleştirmek üzere onay kutularını işaretleyin.

  4. Tamam'ı tıklayın.

Platforma bağlı değişiklikler

Değişiklikleri Uygula özelliğinin bazı özellikleri, Android platformunun belirli sürümlerine bağlıdır. Bu tür değişiklikleri uygulamak için uygulamanızın Android'in bu sürümünü (veya üzerini) çalıştıran bir cihaza dağıtılması gerekir. Örneğin, yöntem eklemek için Android 11 veya sonraki bir sürümü gerekir.

Değişiklikleri Uygulamayla İlgili Sınırlamalar

Değişiklikleri Uygula, uygulama dağıtım sürecini hızlandırmak için tasarlanmıştır. Bununla birlikte, ne zaman kullanılabildiğiyle ilgili bazı sınırlamalar vardır.

Uygulamanın yeniden başlatılmasını gerektiren kod değişiklikleri

Aşağıdakiler de dahil olmak üzere bazı kod ve kaynak değişiklikleri, uygulama yeniden başlatılana kadar uygulanamaz:

  • Alan ekleme veya kaldırma
  • Bir yöntemi kaldırma
  • Yöntem imzalarını değiştirme
  • Yöntem veya sınıfların değiştiricilerini değiştirme
  • Sınıf devralmayı değiştirme
  • Sıralamalarda değerleri değiştirme
  • Kaynak ekleme veya kaldırma
  • Uygulama manifestini değiştirme
  • Yerel kitaplıkları değiştirme (SO dosyaları)
Kitaplıklar ve eklentiler

Bazı kitaplıklar ve eklentiler, uygulamanızın manifest dosyalarında veya manifest'te başvurulan kaynaklarda otomatik olarak değişiklik yapar. Bu otomatik güncellemeler, Değişiklikleri Uygulama özelliğini aşağıdaki şekillerde etkileyebilir:

  • Bir kitaplık veya eklenti, uygulamanızın manifest dosyasında değişiklikler yaparsa Değişiklikleri Uygula'yı kullanamazsınız. Yaptığınız değişiklikleri görmek için uygulamanızı yeniden başlatmanız gerekir.
  • Bir kitaplık veya eklenti, uygulamanızın kaynak dosyalarında değişiklik yaparsa Kod Değişikliklerini Uygula Kod Değişikliklerini Uygula simgesi seçeneğini kullanamazsınız. Yaptığınız değişiklikleri görmek için Değişiklikleri Uygula ve Etkinliği Yeniden BaşlatDeğişiklikleri Uygula ve Etkinliği Yeniden Başlat simgesi kullanmanız (veya uygulamanızı yeniden başlatmanız) gerekir.

Bu sınırlamaları önlemek istiyorsanız hata ayıklama derlemesi varyantlarınız için tüm otomatik güncellemeleri devre dışı bırakın.

Örneğin, Firebase Crashlytics uygulama kaynaklarını her derleme sırasında benzersiz bir derleme kimliğiyle günceller. Bu, Kod Değişikliklerini Uygulama Kod Değişikliklerini Uygula simgesi özelliğini kullanmanızı engeller ve değişiklikleri görmek için uygulamanızın etkinliğini yeniden başlatmanızı gerektirir. Hata ayıklama derlemelerinizle Crashlytics ile birlikte Kod Değişikliklerini Uygula'yı kullanmak için bu davranışı devre dışı bırakın.

Yüklü bir APK'daki içeriğe doğrudan referans veren kod

Kodunuz, uygulamanızın cihazda yüklü olan APK'sına doğrudan başvuruda bulunuyorsa bu kod, Kod Değişikliklerini Uygula Kod Değişikliklerini Uygula simgesi simgesini tıkladıktan sonra kilitlenmelere veya hatalı davranışlara neden olabilir. Bu durum, Kod Değişikliklerini Uygula'yı tıkladığınızda cihazdaki temel APK'nın yükleme sırasında değiştirilmesinden kaynaklanır. Bu durumlarda, bunun yerine Değişiklikleri Uygula ve Etkinliği Yeniden BaşlatDeğişiklikleri Uygula ve Etkinliği Yeniden Başlat simgesi veya ÇalıştırÇalıştır simgesi tıklayabilirsiniz.

Değişiklikleri Uygulama özelliğini kullanırken başka sorunlarla karşılaşırsanız hata bildiriminde bulunun.

Canlı Düzenleme

Canlı Düzenleme, Android Studio'da bulunan ve emülatörlerdeki ve fiziksel cihazlardaki besteleri gerçek zamanlı olarak güncellemenize olanak tanıyan deneysel bir özelliktir. Bu işlev, yazma ile uygulamanızı oluşturma arasındaki bağlam geçişlerini en aza indirir. Böylece, kesintisiz olarak daha uzun süre kod yazmaya odaklanabilirsiniz.

Canlı Düzenleme hakkında daha fazla bilgi

Derleme varyantını değiştirme

Varsayılan olarak Android Studio, ÇalıştırKullanıcı arayüzü
düğmesi tıkladığınızda uygulamanızın yalnızca geliştirme sırasında kullanılmak üzere tasarlanmış olan hata ayıklama sürümünü oluşturur.

Android Studio'nun kullandığı derleme varyantını değiştirmek için aşağıdakilerden birini yapın:

  • Menüde Derleme > Derleme Varyantı Seçin'i seçin.
  • Menüde Görünüm > Araç Pencereleri > Varyant Oluştur'u seçin.
  • Araç pencere çubuğunda Varyant Oluştur sekmesini tıklayın.

Yerel/C++ kodu olmayan projeler için Varyantları Derleme panelinde iki sütun bulunur: Modül ve Etkin Derleme Varyantı. Modülün Aktif Derleme Varyantı değeri, IDE'nin bağlı cihazınıza hangi derleme varyantını dağıtacağını belirler ve düzenleyicide görünür.

Şekil 9. Derleme Varyantları panelinde yerel/C++ kodu olmayan projeler için iki sütun bulunur.

Varyantlar arasında geçiş yapmak için bir modülün Aktif Derleme Varyantı hücresini tıklayın ve listeden istediğiniz varyantı seçin.

Yerel/C++ kodu olan projeler için Varyant Oluştur panelinde üç sütun bulunur:

  • Modül
  • Etkin Derleme Varyantı
  • Etkin ABI

Modülün Aktif Derleme Varyantı değeri, IDE'nin cihazınıza dağıttığı derleme varyantını belirler ve düzenleyicide görünür. Yerel modüller için Active ABI değeri, düzenleyicinin kullandığı ABI'yi belirler ancak dağıtılan öğeyi etkilemez.

Şekil 10. Varyantları Derleme paneli, yerel/C++ kodu olan projeler için Etkin ABI sütununu ekler.

Derleme varyantını veya ABI'yi değiştirmek için Etkin Derleme Varyantı veya Etkin ABI sütunundaki hücreyi tıklayın ve listeden istediğiniz varyantı veya ABI'yi seçin. Seçimi değiştirdiğinizde IDE, projenizi otomatik olarak senkronize eder. Bir uygulama veya kitaplık modülü için sütunlardan birinin değiştirilmesi, değişikliği tüm bağımlı satırlara uygular.

Yeni projeler varsayılan olarak iki derleme varyantıyla oluşturulur: hata ayıklama varyantı ve sürüm varyantı. Uygulamanızı herkese açık yayına hazırlamak için sürüm varyantını oluşturmanız gerekir. Uygulamanızın farklı özelliklere veya cihaz gereksinimlerine sahip diğer varyasyonlarını tanımlamak için ek oluşturma varyantları tanımlayabilirsiniz.

Android Studio Derleme Varyantları iletişim kutusunda çakışmalar

Android Studio Varyantları Oluşturun iletişim kutusunda, derleme varyantları arasında çakışmalara işaret eden hata mesajları görebilirsiniz. Örneğin:

Varyant çakışma hataları gösteren Varyant Oluşturma penceresi

Bu hata, Gradle ile ilgili bir derleme sorununa işaret etmez. Bu, Android Studio IDE'nin seçilen modüllerin varyantları arasındaki simgeleri çözümleyemediğini gösterir.

Örneğin, M2 modülünün v1 varyantına dayalı bir M1 modülünüz varsa ancak M2, IDE'de seçili v2 varyantına sahipse IDE'de çözümlenmemiş sembolleriniz var demektir. M1 öğesinin yalnızca v1 ürününde kullanılabilen bir sınıfa bağlı olduğunu; v2 seçildiğinde ise bu sınıfın IDE tarafından bilinmediğini varsayalım. Bu nedenle, sınıf adını çözümleyemez ve M1 modülünün kodunda hatalar gösterir.

Bu hata mesajları, IDE'nin birden fazla varyant için aynı anda kod yükleyememesi nedeniyle görünür. Ancak Gradle, uygulamanızı IDE'de şu anda yüklenene dayalı olarak değil, Gradle derleme tariflerinizde belirtilen kaynak koduyla oluşturduğu için bu iletişim kutusunda seçilen varyantın, uygulamanızın derlemesi açısından hiçbir etkisi yoktur.

Çalıştırma/hata ayıklama yapılandırmasını değiştirme

Uygulamanızı ilk kez çalıştırdığınızda, Android Studio varsayılan bir çalıştırma yapılandırması kullanır. Çalıştırma yapılandırması, uygulamanızın bir APK'dan mı yoksa Android App Bundle'dan mı dağıtılacağını, ayrıca çalıştırılacak modülü, dağıtılacak modülü, başlatılacak etkinliği, hedef cihaz, emülatör ayarlarını, Logcat seçeneklerini ve daha fazlasını belirtir.

Varsayılan çalıştırma/hata ayıklama yapılandırması bir APK oluşturur, varsayılan proje etkinliğini başlatır ve hedef cihaz seçimi için Dağıtım Hedefi Seçin iletişim kutusunu kullanır. Varsayılan ayarlar projenize veya modülünüze uygun değilse çalıştırma/hata ayıklama yapılandırmasını özelleştirebilir veya proje, varsayılan ve modül düzeylerinde yeni bir yapılandırma oluşturabilirsiniz.

Bir çalıştırma/hata ayıklama yapılandırmasını düzenlemek için Çalıştır > Yapılandırmaları Düzenle'yi seçin. Daha fazla bilgi için Çalışma/hata ayıklama yapılandırmaları oluşturma ve düzenleme bölümünü inceleyin.