Mobil uygulama geliştiricisi olarak, uygulamanızın kullanıcı arayüzünü genellikle her şeyi aynı anda geliştirmek yerine adım adım geliştirirsiniz. Android Studio, Jetpack Compose ile bu yaklaşımı benimser. İncelemek, değerleri değiştirmek ve nihai sonucu doğrulamak için tam derleme gerektirmeyen araçlar sunar.
Canlı Düzenleme
Canlı Düzenleme, emülatörlerdeki ve fiziksel cihazlardaki composable'ları anında güncellemenize olanak tanıyan bir özelliktir. Bu işlev, uygulamanızı yazma ve oluşturma arasındaki bağlam geçişlerini en aza indirerek kesintisiz bir şekilde daha uzun süre kod yazmaya odaklanmanızı sağlar.
Live Edit'in üç modu vardır:
- Manuel: Kod değişiklikleri, Control+' (macOS'te Command+') kullanılarak manuel olarak gönderildiğinde uygulanır.
- Kaydederken manuel: Kod değişiklikleri, Control+S (macOS'te Command+S) kullanılarak manuel olarak kaydedildiğinde uygulanır.
- Otomatik: Değişiklikler, composable işlevi güncellediğinizde cihazınıza veya emülatörünüze uygulanır.
Canlı Düzenleme, kullanıcı arayüzü ve kullanıcı deneyimi ile ilgili kod değişikliklerine odaklanır. Canlı Düzenleme, yöntem imzası güncellemeleri, yeni yöntemler ekleme veya sınıf hiyerarşisi değişiklikleri gibi değişiklikleri desteklemez. Daha fazla bilgi için Canlı Düzenleme'nin sınırlamaları listesine bakın.
Bu özellik, uygulamanızı oluşturma ve çalıştırma veya Değişiklikleri Uygula işlevinin yerini almaz. Bunun yerine, Compose kullanıcı arayüzü geliştirirken oluşturma, dağıtma ve yineleme işlemlerini yaparken iş akışınızı optimize etmek için tasarlanmıştır.
En iyi uygulama iş akışı şu şekildedir:
- Uygulamanızı çalıştırılabilecek şekilde ayarlayın.
- Canlı Düzenleme'nin desteklemediği bir değişiklik yapmanız gerekene kadar (ör. uygulama çalışırken yeni yöntemler ekleme) mümkün olduğunca Canlı Düzenleme'yi kullanın.
- Desteklenmeyen bir değişiklik yaptıktan sonra Çalıştır'ı
tıklayarak uygulamanızı yeniden başlatın ve Canlı Düzenleme'ye devam edin.
Canlı Düzenleme'yi kullanmaya başlama
Başlamak için aşağıdaki adımları uygulayarak boş bir Compose etkinliği oluşturun, projenizde Canlı Düzenleme'yi etkinleştirin ve Canlı Düzenleme ile değişiklikler yapın.
Yeni projenizi oluşturma
Başlamadan önce Android Studio Giraffe veya daha yeni bir sürümün yüklü olduğundan ve fiziksel cihazınızın ya da emülatörünüzün API düzeyinin en az 30 olduğundan emin olun.
Android Studio'yu açın ve Welcome to Android Studio (Android Studio'ya Hoş Geldiniz) iletişim kutusunda New Project'i (Yeni Proje) seçin. Zaten açık bir projeniz varsa Dosya > Yeni > Yeni Proje'ye giderek yeni bir proje oluşturabilirsiniz.
Telefon ve Tablet için Empty Compose Activity (Boş Oluşturma Etkinliği) şablonunu seçin ve Next'i (İleri) tıklayın.
1. şekil Seçebileceğiniz şablonlar. Canlı Düzenleme için Empty Compose Activity'yi (Boş Oluşturma Etkinliği) seçin. Yeni Proje iletişim kutusunu gerekli bilgilerle (ad, paket adı, kaydetme konumu, minimum SDK ve derleme yapılandırma dili) doldurun.
Şekil 2. Örnek proje ayarları. Son'u tıklayın.
Canlı Düzenleme'yi etkinleştirme
Canlı Düzenleme'yi etkinleştirmek için ayarlara gidin.
- Windows veya Linux'ta Dosya > Ayarlar > Düzenleyici > Canlı Düzenleme'ye gidin.
- macOS'te Android Studio > Settings > Editor > Live Edit'e gidin.
Ayarlardan Canlı Düzenleme seçeneğini ve çalıştırmak istediğiniz modu belirleyin.
Manuel modda, Control+' (macOS'te Command+') tuşuna her bastığınızda kod değişiklikleriniz gönderilir. Kaydetme işleminde manuel modda, kod değişiklikleriniz her manuel kaydetme işleminde uygulanır. Kaydetmek için Control+S (macOS'te Command+S) tuşlarına basın. Otomatik modda, kod değişiklikleriniz siz değişiklik yaptıkça cihazınıza veya emülatörünüze uygulanır.
Şekil 3. Canlı düzenleme ayarları. Düzenleyicide, uygulamanızın giriş noktası olan
MainActivity
dosyasını açın.Uygulamanızı dağıtmak için Run'ı (Çalıştır)
tıklayın.
Canlı Düzenleme'yi açtıktan sonra Çalışan Cihazlar araç penceresinin sağ üst kısmında Güncel yeşil onay işareti görünür:
Değişiklik yapma ve inceleme
Düzenleyicide desteklenen değişiklikleri yaptığınızda sanal veya fiziksel test cihazı otomatik olarak güncellenir.
Örneğin, MainActivity
içindeki mevcut Greeting
yöntemini aşağıdaki gibi düzenleyin:
@Composable fun Greeting(name: String) { Text( text = "Hello $name!", Modifier .padding(80.dp) // Outer padding; outside background .background(color = Color.Cyan) // Solid element background color .padding(16.dp) // Inner padding; inside background, around text) ) }
Şekil 4'te gösterildiği gibi, değişiklikleriniz test cihazında anında görünür.

Greeting
yönteminde gösteren test cihazı.Canlı Düzenleme ile ilgili sorunları giderme
Düzenlemelerinizi test cihazında görmüyorsanız Android Studio, düzenlemelerinizi güncelleyememiş olabilir. Şekil 5'te gösterildiği gibi, derleme hatasını belirten Canlı Düzenleme göstergesinin Güncel Değil olup olmadığını kontrol edin. Hata hakkında bilgi edinmek ve hatayı çözmeyle ilgili önerileri görmek için göstergeyi tıklayın.

Canlı Düzenleme'nin sınırlamaları
Mevcut sınırlamalar aşağıda listelenmiştir.
[Yalnızca Android Studio Giraffe ve sonraki sürümler için geçerlidir] Canlı Düzenleme için Compose Runtime 1.3.0 veya sonraki sürümler gerekir. Projenizde Compose'un daha eski bir sürümü kullanılıyorsa Canlı Düzenleme devre dışı bırakılır.
[Yalnızca Android Studio Giraffe ve sonraki sürümler için geçerlidir] Canlı Düzenleme için AGP 8.1.0-alpha05 veya sonraki bir sürüm gerekir. Projenizde AGP'nin daha düşük bir sürümü kullanılıyorsa Canlı Düzenleme devre dışı bırakılır.
Canlı Düzenleme özelliği için API düzeyi 30 veya daha yüksek bir sürümü çalıştıran fiziksel bir cihaz ya da emülatör gerekir.
Canlı Düzenleme yalnızca işlev gövdesinin düzenlenmesini destekler. Bu nedenle, işlev adını veya imzayı değiştiremez, işlev ekleyemez ya da kaldıramaz veya işlev dışı alanları değiştiremezsiniz.
Canlı Düzenleme, bir dosyada Compose işlevini ilk kez değiştirdiğinizde uygulamanın durumunu sıfırlar. Bu durum yalnızca ilk kod değişikliğinden sonra gerçekleşir. Uygulama durumu, bu dosyada Compose işlevlerinde yaptığınız sonraki kod değişiklikleriyle sıfırlanmaz.
Canlı Düzenleme ile değiştirilen sınıflar, performans cezası alabilir. Performansını değerlendiriyorsanız uygulamanızı çalıştırın ve temiz bir yayın derlemesi kullanın.
Hata ayıklayıcının, Canlı Düzenleme ile değiştirdiğiniz sınıflarda çalışması için tam çalıştırma yapmanız gerekir.
Çalışan bir uygulamayı Canlı Düzenleme ile düzenlediğinizde uygulama kilitlenebilir. Bu durumda, Çalıştır
düğmesini kullanarak uygulamayı yeniden dağıtabilirsiniz.
Canlı Düzenleme, projenizin derleme dosyasında tanımlanan herhangi bir bayt kodu manipülasyonunu gerçekleştirmez. Örneğin, proje Build (Derle) menüsündeki seçenekler kullanılarak veya Build (Derle) ya da Run (Çalıştır) düğmeleri tıklanarak derlendiğinde uygulanacak bayt kodu manipülasyonu.
Composable olmayan işlevler cihazda veya emülatörde canlı olarak güncellenir ve tam bir yeniden oluşturma tetiklenir. Tam yeniden oluşturma, güncellenen işlevi çağırmayabilir. Birleştirilebilir olmayan işlevler için yeni güncellenen işlevleri tetiklemeniz veya uygulamayı tekrar çalıştırmanız gerekir.
Canlı Düzenleme, uygulama yeniden başlatıldığında devam etmez. Uygulamayı tekrar çalıştırmanız gerekir.
Live Edit yalnızca hata ayıklanabilir işlemleri destekler.
Canlı Düzenleme, derleme yapılandırmasında
kotlinOptions
altındamoduleName
için özel değerler kullanan projeleri desteklemez.Canlı Düzenleme, çoklu dağıtım içeren dağıtımlarda çalışmaz. Bu, bir cihaza dağıtım yapıp ardından başka bir cihaza dağıtım yapamayacağınız anlamına gelir. Canlı Düzenleme yalnızca uygulamanın dağıtıldığı son cihaz grubunda etkindir.
Canlı Düzenleme, çok cihazlı dağıtımlarda (hedef cihaz açılır listesinde Birden fazla cihaz seç seçeneği kullanılarak oluşturulan ve birden fazla cihaza dağıtılan) çalışır. Ancak bu özellik resmi olarak desteklenmez ve sorunlar yaşanabilir. Sorun yaşarsanız lütfen bunları bildirin.
Değişiklikleri Uygula/Kod Değişikliklerini Uygula, Canlı Düzenleme ile uyumlu değildir ve çalışan uygulamanın yeniden başlatılmasını gerektirir.
Canlı Düzenleme şu anda Android Automotive projelerini desteklememektedir.
Canlı Düzenleme hakkında sık sorulan sorular
Canlı Düzenleme'nin mevcut durumu nedir?
Canlı Düzenleme, Android Studio Giraffe'te kullanılabilir. Bu özelliği etkinleştirmek için Dosya > Ayarlar > Düzenleyici > Canlı Düzenleme'ye (macOS'te Android Studio > Ayarlar > Düzenleyici > Canlı Düzenleme) gidin.
Canlı düzenlemeyi ne zaman kullanmalıyım?
Kullanıcı deneyimi öğelerinde (ör. değiştirici güncellemeleri ve animasyonlar) yapılan güncellemelerin genel uygulama deneyimi üzerindeki etkisini hızlıca görmek istediğinizde Canlı Düzenleme'yi kullanın.
Canlı düzenlemeyi ne zaman kullanmamalıyım?
Canlı Düzenleme, kullanıcı arayüzü ve kullanıcı deneyimi ile ilgili kod değişikliklerine odaklanır. Yöntem imzası güncellemeleri, yeni yöntemler ekleme veya sınıf hiyerarşisi değişiklikleri gibi değişiklikleri desteklemez. Daha fazla bilgi için Canlı Düzenleme'nin sınırlamaları başlıklı makaleyi inceleyin.
Ne zaman Compose Preview'u kullanmalıyım?
Tek tek composable'lar geliştirirken Compose Preview'u kullanın. Önizleme, Compose öğelerini görselleştirir ve kod değişikliklerinin etkisini göstermek için otomatik olarak yenilenir. Önizleme, kullanıcı arayüzü öğelerinin farklı yapılandırmalar ve durumlar (ör. koyu tema, yerel ayarlar ve yazı tipi ölçeği) altında görüntülenmesini de destekler.
Compose ile yinelemeli kod geliştirme
Compose Multiplatform için Canlı Düzenleme ve Anında Yeniden Yükleme, Compose ile geliştirme yaparken size zaman kazandırabilecek ve üretkenliğinizi artırabilecek özelliklerdir. Ancak, farklı geliştirme türlerinin ihtiyaçlarını karşılarlar:
Canlı Düzenleme, Android uygulamaları için Jetpack Compose ile yinelemeli geliştirmeyi destekler. Emülatörlerdeki ve fiziksel cihazlardaki composable'ları gerçek zamanlı olarak güncellemenizi sağlar. Bu işlev, uygulamanızı yazma ve oluşturma arasında bağlam geçişlerini en aza indirerek kesintisiz bir şekilde daha uzun süre kod yazmaya odaklanmanızı sağlar.
Compose Hot Reload da aynı ihtiyacı karşılar ancak Compose Multiplatform ile oluşturulan masaüstü uygulamalarını destekler. Bu araç, Compose Multiplatform uygulamasında kullanıcı arayüzü kodunuzda değişiklik yapmanıza ve kodunuz her değiştirildiğinde akıllıca yeniden yükleyerek sonuçları anında görmenize olanak tanır.
Bu iki özellik, Compose motorunda birçok teknolojiyi paylaşsa ve benzer birçok kullanım alanını desteklese de farklı Compose geliştirme türlerine uygulandıkları için aynı özelliklere sahip değildir.
Android uygulaması geliştiriyorsanız geliştirme sürecinizi hızlandırmak için Live Edit'i kullanmanız gerekir. Compose Multiplatform kullanarak bir masaüstü uygulaması geliştiriyorsanız Compose Hot Reload'u kullanmanız gerekir.
Değişkenlerin canlı düzenlenmesi (kullanımdan kaldırıldı)
Android Studio, önizlemelerdeki, emülatördeki ve fiziksel cihazdaki composable'larda kullanılan bazı sabit değişmezleri anında güncelleyebilir. Desteklenen türlerden bazıları şunlardır:
Int
String
Color
Dp
Boolean
Sabit değerlerin canlı düzenlemesi kullanıcı arayüzü göstergesi aracılığıyla sabit değer süslemelerini etkinleştirerek derleme adımı olmadan gerçek zamanlı güncellemeleri tetikleyen sabit değerleri görüntüleyebilirsiniz:
Değişiklikleri Uygulama
Değişiklikleri Uygula, uygulamanızı bir emülatöre veya fiziksel cihaza yeniden dağıtmak zorunda kalmadan kodu ve kaynakları güncellemenize olanak tanır (bazı sınırlamalar vardır).
Birleştirilebilir işlevleri her eklediğinizde, değiştirdiğinizde veya sildiğinizde Apply Code Changes (Kod Değişikliklerini Uygula) düğmesini tıklayarak uygulamanızı yeniden dağıtmak zorunda kalmadan güncelleyebilirsiniz:
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir.
- Animasyonları özelleştirme {:#customize-animations}
- Değere dayalı animasyonlar