Uygulamanızın bir cihazda nasıl göründüğünü ve nasıl davrandığını görmek için uygulamayı derleyip çalıştırmanız gerekir. Android Studio, uygulamanızı sanal veya fiziksel bir cihaza yalnızca birkaç tıklamayla dağıtabilmeniz için yeni projeler oluşturur.
Bu genel bakış, test ve hata ayıklama amacıyla uygulamanızı derlemek ve çalıştırmak için Android Studio'yu kullanmaya odaklanır. Uygulamanızı kullanıcılara yayınlanacak şekilde oluşturmak için Android Studio'yu nasıl kullanacağınız hakkında bilgi edinmek istiyorsanız Uygulamanızı kullanıcılara yayınlanacak şekilde oluşturma başlıklı makaleyi inceleyin. Derlemenizi Android Studio ile veya olmadan yönetme ve özelleştirme hakkında daha ayrıntılı bilgi için Derlemenizi yapılandırma başlıklı makaleyi inceleyin.
Temel derleme ve çalıştırma
Uygulamanızı derleyip çalıştırmak için aşağıdaki adımları uygulayın:
- Araç çubuğunda, çalıştırma yapılandırmaları menüsünden uygulamanızı seçin.
Hedef cihaz menüsünde, uygulamanızı çalıştırmak istediğiniz cihazı seçin.
Yapılandırılmış cihazınız yoksa Android Emulator'u kullanmak için Android sanal cihaz oluşturmanız veya fiziksel bir cihaz bağlamanız gerekir.
Çalıştır'ı
tıklayın.
Android Studio, projenizi ilişkili bir hata veya uyarı içeren bir cihazda başlatmaya çalıştığınızda sizi uyarır. Simge ve stil değişiklikleri, hataları (bozuk yapılandırmayla sonuçlanan cihaz seçimleri) ve uyarları (beklenmedik davranışlarla sonuçlanabilecek ancak yine de çalıştırılabilir cihaz seçimleri) birbirinden ayırır.
Derleme sürecini izleme
Derleme süreciyle ilgili ayrıntıları görüntülemek için Görünüm > Araçlar Pencereleri > Derle'yi seçin veya araç penceresi çubuğunda Derle'yi tıklayın. Derle araç penceresinde, Gradle'ın uygulamanızı derlemek için yürüttüğü görevler gösterilir (Şekil 1).

- Senkronizasyon sekmesi: Gradle'ın proje dosyalarınızla senkronize etmek için yürüttüğü görevleri gösterir. Derleme Çıktısı sekmesine benzer şekilde, senkronizasyon hatasıyla karşılaşırsanız hata hakkında daha fazla bilgi edinmek için ağaçtaki öğeleri seçin. Bağımlılık indirmelerinin derlemenizi olumsuz etkileyip etkilemediğini belirlemek için indirme etkisinin bir özetini de gösterir.
- Derleme Çıktısı sekmesi: Gradle'ın yürüttüğü görevleri ağaç şeklinde gösterir. Her düğüm, bir 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 Şekil 2'de gösterildiği gibi hata çıkışını okumak için bir öğe seçin.
Şekil 2. Hata mesajları için Derleme Çıktısı sekmesini inceleyin. - Derleme Analizi sekmesi: Derlemenizle ilgili derleme performansı analizi bilgilerini sağlar. Daha fazla bilgi için Derleme performansıyla ilgili sorunları Derleme Analizörü ile giderme başlıklı makaleyi inceleyin.
- Yeniden başlat: Son derleme işlemini tekrar gerçekleştirir. Son çalıştırdığınız işlem Derle > Seçili Modülü Derle ise geçerli modül derlenir. Son olarak Derle > Proje Oluştur'u çalıştırdıysanız projenizdeki tüm modüller için ara derleme dosyaları oluşturulur.
- Filtreler: Başarıyla tamamlanan uyarıları, görevleri veya her ikisini de filtreler. Bu, çıkıştaki sorunları daha kolay bulmanızı sağlayabilir.
Derleme varyantlarınızda ürün aromaları kullanılıyorsa Gradle, bu ürün aromalarını derlemek için de görevleri çağırır. Mevcut tüm derleme görevlerinin listesini görüntülemek için Görünüm > Araç Pencereleri > Gradle'i veya araç penceresi çubuğunda Gradle'i tıklayın.
Derleme işlemi sırasında bir hata oluşursa Gradle, sorunu çözmenize yardımcı olacak --stacktrace
veya --debug
gibi komut satırı seçenekleri önerebilir. Derleme işleminizle birlikte komut satırı seçeneklerini kullanmak için:
- 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.
- Derleme, Yürütme, Dağıtım > Derleyici'ye gidin.
- Komut satırı seçenekleri'nin yanındaki metin alanına komut satırı seçeneklerinizi girin.
- Kaydetmek ve çıkmak için Tamam'ı tıklayın.
Gradle, uygulamanızı bir sonraki sefer derlemeye çalıştığınızda bu komut satırı seçeneklerini uygular.
Gelişmiş derleme ve çalıştırma özellikleri
Android Studio'da uygulamanızı derleme ve çalıştırma işleminin varsayılan yolu, basit bir uygulamayı test etmek için yeterlidir. Ancak bu derleme ve çalıştırma özelliklerini daha gelişmiş kullanım alanları için de 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ı belirlemenize, değişkenleri incelemenize ve ifadeleri çalışma zamanında değerlendirmenize, ayrıca hata ayıklama araçlarını çalıştırmanıza olanak tanır. Daha fazla bilgi edinmek için Uygulamanızda hata ayıklama başlıklı makaleyi inceleyin.
Daha büyük ve 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şlatmak zorunda kalmadığınız için bu işlem zaman kazandırır. Değişiklikleri Uygulama hakkında daha fazla bilgi için Değişiklikleri Uygulama ile aşamalı olarak dağıtma bölümüne bakın.
Jetpack Compose kullanıyorsanız Canlı Düzenleme, Çalıştır'ı
yeniden tıklamadan, derlenebilir öğeleri anlık olarak güncellemenize olanak tanıyan deneysel bir özelliktir. Bu sayede, minimum düzeyde kesinti yaşayarak 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 Derleme Varyantları araç penceresini kullanarak dağıtılacak derleme varyantı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 oluşturma başlıklı makaleyi inceleyin.
Değişiklikleri Uygulama ile aşamalı olarak dağıtma
Android Studio 3.5 ve sonraki sürümlerde Değişiklikleri Uygula, uygulamanızı ve bazı durumlarda mevcut etkinliği yeniden başlatmadan kod ve kaynak değişikliklerini çalışan uygulamanıza aktarmanıza olanak tanır. Bu esneklik, cihazınızın mevcut durumunu korurken küçük ve artımlı değişiklikleri dağıtmak ve test etmek istediğinizde uygulamanızın ne kadarının yeniden başlatılacağını kontrol etmenize yardımcı olur.
Değişiklikleri Uygulama, Android 8.0 (API seviyesi 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 başlıklı makaleyi inceleyin.
Ş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ı hata ayıklama derleme varyantını kullanarak derleyebilirsiniz.
- 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 Uygula'yı 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 : Etkinliğinizi yeniden başlatarak ancak uygulamanızı yeniden başlatmadan hem kaynak hem de kod değişikliklerinizi uygulamaya çalışır. Genellikle bir yöntemin gövdesinde kod veya mevcut bir kaynak değiştirdiğinizde bu seçeneği kullanabilirsiniz.
Bu işlemi Control+Alt+F10 (macOS'te Control+Command+Üst Karakter+R) tuşlarına basarak da yapabilirsiniz.
Kod Değişikliklerini Uygula : Hiçbir şeyi yeniden başlatmadan yalnızca kod değişikliklerinizi uygulamaya çalışır. Genel olarak, bir yöntemin gövdesinde kod değiştirdiğiniz ancak herhangi bir kaynağı değiştirmediğiniz durumlarda bu seçeneği 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 yapabilirsiniz.
Ç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 hiç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 Uygulamanın Sınırlamaları bölümüne bakın.
Değişiklikleri Uygulama için yedek çalıştırmayı etkinleştirme
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 Uygula işleminin başarısız olmasına neden oluyorsa Android Studio, uygulamanızı yeniden Çalıştırmanızı ister.
Bu durum her gerçekleştiğinde sizden onay istenmesini 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 aşağıdaki adımları uygulayın:
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.
Derleme, Yürütme, Dağıtım > Dağıtım'a gidin.
Değişiklikleri Uygulama işlemlerinden biri veya her ikisi için otomatik çalıştırma yedeğini etkinleştirmek üzere onay kutularını işaretleyin.
Tamam'ı tıklayın.
Platforma bağlı değişiklikler
Değişiklikleri Uygula'nın bazı özellikleri, Android platformunun belirli sürümlerine bağlıdır. Bu tür değişikliklerin uygulanması için uygulamanızın, Android'in ilgili sürümünü (veya daha yeni bir 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 Uygulama'nın Sınırlamaları
Değişiklikleri Uygula, uygulama dağıtım sürecini hızlandırmak için tasarlanmıştır. Ancak bu özelliğin ne zaman kullanılabileceğiyle ilgili bazı sınırlamalar vardır.
Uygulamanın yeniden başlatılmasını gerektiren kod değişiklikleri
Aşağıdakiler 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ıf değiştiricileri değiştirme
- Sınıf devralmayı değiştirme
- Listelerdeki değerleri değiştirme
- Kaynak ekleme veya kaldırma
- Uygulama manifestini değiştirme
- Yerel kitaplıkları (SO dosyaları) değiştirme
Kitaplıklar ve eklentiler
Bazı kitaplıklar ve eklentiler, uygulamanızın manifest dosyalarında veya manifest'te referans verilen kaynaklarda otomatik olarak değişiklik yapar. Bu otomatik güncellemeler, Değişiklikleri Uygula'yı aşağıdaki şekillerde etkileyebilir:
- Bir kitaplık veya eklenti, uygulamanızın manifest dosyasında değişiklik yaparsa Değişiklikleri Uygula'yı kullanamazsınız. Değişikliklerinizi 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'yı
kullanamazsınız. Değişikliklerinizi görmek için Değişiklikleri Uygula ve Etkinliği Yeniden Başlat'ı
kullanmanız (veya uygulamanızı yeniden başlatmanız) gerekir.
Bu sınırlamaları önlemek için hata ayıklama derleme varyantlarınız için tüm otomatik güncellemeleri 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 durum, Kod Değişikliklerini Uygula'yı kullanmanızı engeller ve değişikliklerinizi görmek için uygulamanızın etkinliğini yeniden başlatmanızı gerektirir. Hata ayıklama derlemelerinizde Crashlytics ile birlikte Kod Değişikliklerini Uygulama'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 cihaza yüklenen APK'sindeki içeriğe doğrudan referans veriyorsa Kod Değişikliklerini Uygula'yı tıkladıktan sonra bu kod kilitlenmelere neden olabilir veya beklenmedik şekilde davranabilir. Bu davranış, Kod Değişikliklerini Uygula'yı tıkladığınızda cihazdaki temel APK'nın yükleme sırasında değiştirilmesi nedeniyle gerçekleşir. Bu durumlarda Değişiklikleri uygula ve etkinliği yeniden başlat'ı
veya Çalıştır'ı
tıklayabilirsiniz.
Değişiklikleri Uygula'yı kullanırken başka bir sorunla karşılaşırsanız hata kaydı gönderin.
Canlı Düzenleme
Canlı Düzenleme, Android Studio'daki deneysel bir özelliktir. Bu özellik, emülatörlerdeki ve fiziksel cihazlardaki bileşenleri gerçek zamanlı olarak güncellemenize olanak tanır. Bu işlev, uygulamanızı yazma ve oluşturma arasında bağlam geçişlerini en aza indirerek kesintisiz olarak daha uzun süre kod yazmaya odaklanmanıza olanak tanır.
Canlı düzenleme hakkında daha fazla bilgi
Derleme varyantını değiştirme
Android Studio, Çalıştır'ı tıkladığınızda varsayılan olarak uygulamanızın yalnızca geliştirme sırasında kullanılması amaçlanan 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üden Derleme > Derleme Varyantını Seç'i belirleyin.
- Menüden Görünüm > Araç Pencereleri > Derleme Varyantları'nı seçin.
- Araç penceresi çubuğunda Varyant Oluştur sekmesini tıklayın.
Yerel/C++ kodu olmayan projelerde Derleme Varyantları panelinde iki sütun bulunur: Modül ve Etkin Derleme Varyantı. Modülün Etkin Derleme Varyantı değeri, IDE'nin bağlı cihazınıza dağıtacağı derleme varyantı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 Etkin Derleme Varyantı hücresini tıklayın ve listeden istediğiniz varyantı seçin.
Yerel/C++ kodu içeren projelerde Derleme Varyantları panelinde üç sütun bulunur:
- Modül
- Etkin Derleme Varyantı
- Etkin ABI
Modülün Etkin Derleme Varyantı değeri, IDE'nin cihazınıza dağıttığı ve düzenleyicide görünen derleme varyantını belirler. Yerleşik modüller için Etkin ABI değeri, düzenleyicinin kullandığı ABI'yi belirler ancak dağıtılan öğeyi etkilemez.
Şekil 10. Derleme Varyantları paneli, yerel/C++ koduna sahip 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ütununun hücresini 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ündeki sütunlardan herhangi birinin değiştirilmesi, değişikliğin tüm bağımlı satırlara uygulanmasına neden olur.
Varsayılan olarak yeni projeler iki derleme varyantıyla kurulur: hata ayıklama varyantı ve sürüm varyantı. Uygulamanızı herkese açık sürüme hazırlamak için sürüm varyantını oluşturmanız gerekir. Uygulamanızın farklı özelliklere veya cihaz gereksinimlerine sahip diğer varyantlarını tanımlamak için ek derleme varyantları tanımlayabilirsiniz.
Android Studio Derleme Varyantları iletişim kutusunda çakışmalar
Android Studio Derleme Varyantları iletişim kutusunda, derleme varyantları arasındaki anlaşmazlıkları belirten hata mesajları görebilirsiniz. Örneğin:
Bu hata, Gradle ile ilgili bir derleme sorunu olduğunu göstermez. Android Studio IDE'nin, seçili modüllerin varyantları arasındaki sembolleri çözemediğini gösterir.
Örneğin, M2
modülünün v1
varyantına bağlı bir M1
modülünüz varsa ancak M2
'de IDE'de v2
varyantı seçiliyse IDE'de çözülmemiş simgeleriniz vardır. M1
'ün yalnızca v1
'te kullanılabilen bir sınıfa bağlı olduğunu varsayalım. v2
seçildiğinde bu sınıf IDE tarafından bilinmez. Bu nedenle sınıf adını çözemez ve M1
modülünün kodunda hatalar gösterir.
Bu hata mesajları, IDE birden fazla varyantın kodunu aynı anda yükleyemediği için gösterilir. Ancak Gradle, uygulamanızı IDE'de yüklü olana göre değil, Gradle derleme tariflerinizde belirtilen kaynak kodla derlediğinden, bu iletişim kutusunda seçilen varyantın uygulamanızın derlenmesi üzerinde hiçbir etkisi yoktur.
Çalışma/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ın yanı sıra çalıştırılacak modülü, dağıtılacak paketi, 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 Hedefini Seç 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ıştırma/hata ayıklama yapılandırmaları oluşturma ve düzenleme başlıklı makaleyi inceleyin.