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

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

Bu genel bakış, test ve hata ayıklama amacıyla uygulamanızı oluşturup çalıştırmak için Android Studio'nun nasıl kullanılacağına odaklanmaktadır. Uygulamanızı, kullanıcılara yayınlanacak şekilde geliştirmek için Android Studio'yu nasıl kullanacağınız hakkında bilgi edinmek üzere 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 bir Android Sanal Cihazı oluşturmanız veya fiziksel bir cihazı bağlamanız gerekir.

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

Android Studio, projenizi hatayla veya ilişkili bir uyarıya sahip bir cihazda başlatmaya çalışırsanız sizi uyarır. Simge değişiklikleri ve stil değişiklikleri, hatalar (bozuk yapılandırmaya neden olan cihaz seçimleri) ve uyarılar (beklenmeyen davranışlara neden olabilen ancak yine de çalıştırılabilir olan cihaz seçimleri) arasında farklılık gösterir.

Derleme işlemini izleyin

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örüntüler.

Ş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örüntüler. Çıktı Derleme 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 etkileyip etkilemediğini belirlemek için indirme etkisinin bir özetini de gösterir.
  2. Çıktı sekmesi: Gradle'ın yürüttüğü görevleri ağaç olarak 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 Derleme Çıktısı 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 başlıklı makaleye göz atın.
  4. Yeniden başlat: Son derleme işlemini tekrar gerçekleştirir. Derleme > Seçili Modülü Yap işlemini en son çalıştırdığınızda mevcut modül derlenir. Derleme > Proje Yap'ı en son çalıştırdığınızda projenizdeki tüm modüller için ara derleme dosyaları oluşturulur.
  5. Filtreler: Başarıyla tamamlanan uyarıları, görevleri veya her ikisini de filtreler. Bu sayede, çıkıştaki sorunları kolayca bulabilirsiniz.

Derleme varyantlarınızda ürün aromaları kullanılıyorsa Gradle, bu ürün aromalarını oluşturmak için görevleri de çağırır. Kullanılabilir tüm derleme görevlerinin listesini görüntülemek için Görünüm > Araç Pencereleri > Gradle'ı veya araç pencere çubuğunda Gradle simgesini tıklayın.

Derleme işlemi sırasında bir hata oluşursa Gradle, sorunu çözmenize yardımcı olmak için --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. 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, bir sonraki uygulamanızı derlemeyi denediğinizde bu komut satırı seçeneklerini uygular.

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

Uygulamanızı Android Studio'da oluşturmak ve çalıştırmak için varsayılan yöntem 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 kesme noktaları ayarlamanıza, 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 edinmek için Uygulamanızda hata ayıklama bölümüne bakın.

  • 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. Her değişiklik dağıtmak istediğinizde uygulamanızı yeniden başlatmaktan kaçındığınız için bu size zaman kazandırır. Değişiklikleri Uygulama hakkında daha fazla bilgi için Değişiklikleri Uygula ile artımlı dağıtma bölümüne bakın.

  • Jetpack Compose'u kullanıyorsanız Canlı Düzenleme, Çalıştır yeniden tıklamadan kompozisyonları gerçek zamanlı olarak güncellemenize olanak tanıyan deneysel bir özelliktir. Bu sayede minimum düzeyde 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üne bakın.

  • 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 Uygula ile artımlı dağıtma

Android Studio 3.5 ve sonraki sürümlerde Değişiklikleri Uygula özelliği, kod ve kaynak değişikliklerini uygulamanızı yeniden başlatmadan ve bazı durumlarda geçerli etkinliği yeniden başlatmadan çalışan uygulamanıza aktarmanızı sağlar. Bu esneklik sayesinde küçük, artımlı değişiklikleri dağıtıp test ederken cihazınızın mevcut durumunu korurken uygulamanızın ne kadarının yeniden başlatılacağını kontrol edebilirsiniz.

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şi hakkında daha fazla bilgi edinmek için Android Studio Project Marble: Değişiklikleri Uygulama bölümüne bakın.

Gereksinimler

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

  • Uygulamanızın APK'sını, hata ayıklama derleme varyantı kullanarak derlersiniz.
  • 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ıyorsunuz.

Değişiklikleri Uygula seçeneğ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: Hem kaynak hem de kod değişikliklerinizi, uygulamanızı yeniden başlatmadan uygulamaya çalışır. 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 Control+Alt+F10 (macOS'te Control+Command+Üst Karakter+R) tuşlarına basarak da gerçekleştirebilirsiniz.

Kod Değişikliklerini Uygula Kod Değişikliklerini Uygula simgesi : Hiçbir şeyi yeniden başlatmadan yalnızca kod değişikliklerini 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 herhangi 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şleminin başarısız olmasına neden olacaksa Android Studio, bunun yerine uygulamanızı tekrar Çalıştırmanızı Çalıştır simgesi ister.

Bu her gerçekleştiğinde bunun 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 (Derleme, Yürütme, Dağıtım > Dağıtım) seçeneğine 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 (veya sonraki sürümlerin) sürümünü ç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. Ancak ne zaman kullanılabileceğine dair 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öntemlerin veya sınıfların değiştiricilerini değiştirme
  • Sınıf devralmayı değiştirme
  • Sıralamalardaki 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 dosyasında referans verilen 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 özelliğini kullanamazsınız. Değişikliklerinizi görmek için Değişiklikleri Uygulama ve Etkinliği Yeniden Başlatma Değişiklikleri Uygula ve Etkinliği Yeniden Başlat simgesi aracını kullanmanız (veya uygulamanızı yeniden başlatmanız) gerekir.

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

Örneğin, Firebase Crashlytics, her derleme sırasında uygulama kaynaklarını benzersiz bir derleme kimliğiyle günceller. Bu da Kod Değişikliklerini Uygula Kod Değişikliklerini Uygula simgesi özelliğini kullanmanızı engeller ve değişiklikleri görmek için uygulama etkinliğinizi yeniden başlatmanızı gerektirir. Hata ayıklama derlemelerinizle Crashlytics ile birlikte Kod Değişiklikleri 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ü APK'sındaki içeriğe doğrudan referans veriyorsa söz konusu kod, Kod Değişikliklerini Uygula Kod Değişikliklerini Uygula simgesi tıklandı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 Uygula'yı 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 indirerek daha uzun süre kod yazmaya ve kesinti yaşamadan odaklanmanıza olanak tanır.

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ış 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 Derleme'yi seçin.
  • Araç pencere çubuğundaki Varyant Oluştur sekmesini tıklayın.

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

9. Şekil. 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 içeren projeler için Varyant Oluşturma 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'yı belirler ancak dağıtılan öğeyi etkilemez.

10. Şekil. Varyant Oluşturma paneli, yerel/C++ kodu içeren projeler için Etkin ABI sütununu ekler.

Derleme varyantını veya ABI'yı değiştirmek için Aktif 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ştirdikten sonra IDE, projenizi otomatik olarak senkronize eder. Bir uygulama veya kitaplık modülüne ait sütunlardan birinin değiştirilmesi, değişikliği tüm bağımlı satırlara uygular.

Varsayılan olarak yeni projeler, hata ayıklama varyantı ve sürüm varyantı olmak üzere iki derleme varyantıyla oluşturulur. 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 sürüm 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 ilişkin aşağıdakiler gibi hata mesajları görebilirsiniz:

Varyant çakışma hataları gösteren Derleme Varyantı penceresi

Bu hata, Gradle ile ilgili bir yapı sorunu olduğunu göstermez. Bu hata, 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 bağlı bir M1 modülünüz varsa ancak M2 adlı modülün IDE'de v2 varyantı seçiliyse IDE'de çözümlenmemiş simgeleriniz var demektir. M1 öğesinin yalnızca v1 ürününde kullanılabilen bir sınıfa bağlı olduğunu varsayalım. v2 seçildiğinde bu sınıf IDE tarafından bilinmiyor. Bu nedenle sınıf adını çözemez 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österilir. Ancak Gradle, uygulamanızı şu anda IDE'de yüklü olana göre değil, Gradle derleme tariflerinizde belirtilen kaynak koduyla derlediği için, uygulamanızın derlemesi açısından bu iletişim kutusunda seçilen varyantın 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ı belirtir. Ayrıca çalıştırılacak modülü, dağıtılacak paketi, başlatma etkinliğini, 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.

Ç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ıştırma/hata ayıklama yapılandırmaları oluşturma ve düzenleme bölümüne bakın.