Android Studio Iguana'daki yeni özellikleri aşağıda bulabilirsiniz.
Yama sürümleri
Aşağıda, Android Studio Iguana ve Android Gradle eklentisi 8.3'teki yama sürümlerinin listesi verilmiştir.
Android Studio Iguana | 2023.2.1 Yama 2 ve AGP 8.3.2 (Nisan 2024)
Bu küçük güncelleme, bu hata düzeltmelerini içerir.
Android Studio Iguana | 2023.2.1 Yama 1 ve AGP 8.3.1 (Mart 2024)
Bu küçük güncelleme, bu hata düzeltmelerini içerir.
IntelliJ IDEA 2023.2 platform güncellemesi
Android Studio Iguana, Studio IDE deneyimini iyileştiren IntelliJ IDEA 2023.2 güncellemelerini içerir. Değişikliklerle ilgili ayrıntılar için IntelliJ IDEA 2023.2 sürüm notlarına göz atın.
Uygulama Kalitesi Analizleri'nde sürüm denetim sistemi entegrasyonu
Uygulama Kalitesi Analizleri artık Crashlytics yığın izlemeden (stack trace) kilitlenmenin gerçekleştiği anda ilgili koda gitmenizi sağlar. AGP, kilitlenme raporlarına git commit karma verileri ekler. Bu sayede Android Studio, kodunuza gidebilir ve sorunun oluştuğu sürümde nasıl olduğunu gösterebilir. Uygulama Kalitesi Analizleri'nde bir kilitlenme raporunu görüntülediğinizde, geçerli git çıkışınızdaki kod satırına gidebilir veya geçerli ödeme işlemi ile kilitlenmeyi oluşturan kod tabanı sürümü arasındaki farkı görüntüleyebilirsiniz.
Sürüm kontrol sisteminizi Uygulama Kalitesi Analizleri ile entegre etmek için aşağıdaki minimum koşulları karşılamanız gerekir:
- Android Studio Iguana'nın son Canary sürümü
- Android Gradle eklentisi 8.3'ün en son alfa sürümü
- Crashlytics SDK v18.3.7 (veya Firebase Android Bill of Materials v32.0.0)
Hata ayıklaması yapılabilir bir derleme türü için sürüm kontrolü entegrasyonunu kullanmak istiyorsanız modül düzeyinde derleme dosyasında vcsInfo
işaretini etkinleştirin. Sürüm (hata ayıklama yapılamayan) derlemeler için işaret varsayılan olarak etkindir.
Kotlin
android { buildTypes { getByName("debug") { vcsInfo { include = true } } } }
Groovy
android { buildTypes { debug { vcsInfo { include true } } } }
Artık uygulamanızı derleyip Google Play'de yayınladığınızda kilitlenme raporları, IDE'nin yığın izlemeden (stack trace) uygulamanızın önceki sürümlerine bağlanması için gereken verileri içerir.
Uygulama Kalitesi Analizleri'nde Crashlytics kilitlenme varyantlarını görüntüleme
Kilitlenmenin temel nedenlerini analiz etmenize yardımcı olması için artık etkinlikleri sorun varyantlarına veya benzer yığın izlemeleri paylaşan etkinlik gruplarına göre görüntülemek üzere Uygulama Kalitesi Analizleri'ni kullanabilirsiniz. Bir kilitlenme raporunun her varyantındaki etkinlikleri görüntülemek için açılır menüden bir varyant seçin. Tüm varyantlarla ilgili bilgileri toplamak için Tümü'nü seçin.
Oluşturma kullanıcı arayüzü kontrolü
Android Studio Iguana Canary 5, geliştiricilerin Jetpack Compose'da daha uyarlanabilir ve erişilebilir kullanıcı arayüzleri oluşturmasına yardımcı olmak için Compose önizlemesinde yeni bir kullanıcı arayüzü kontrol modu kullanıma sundu. Bu özellik, görünümler için Görsel hata analizi ve Erişilebilirlik kontrolü entegrasyonlarına benzer. Oluşturma kullanıcı arayüzü kontrol modunu etkinleştirdiğinizde Android Studio, Oluşturma kullanıcı arayüzünüzü otomatik olarak denetleyip farklı ekran boyutlarında uyumluluk ve erişilebilirlik sorunlarını (ör. büyük ekranlarda uzatılmış metin veya düşük renk kontrastı) kontrol eder. Bu mod, farklı önizleme yapılandırmalarında bulunan sorunları vurgular ve bunları sorunlar panelinde listeler.
Önizleme Oluştur'daki Kullanıcı Arayüzü Kontrolü düğmesini tıklayarak ve geri bildiriminizi göndererek bu özelliği hemen deneyebilirsiniz:

Kullanıcı arayüzü kontrol moduyla ilgili bilinen sorunlar:
- Sorun panelinde seçili sorun kaybolabilir
- "Kuralın uygulanmasını engelle" işlevi çalışmıyor

Oluşturma Önizlemesi için Progresif Oluşturma
Android Studio Iguana Canary 3, Compose Önizlemesi'nde aşamalı oluşturma özelliğini kullanıma sundu. Önizlemeleri daha yüksek performans göstermek için sürekli olarak çalışıyoruz. Bu çalışmalar kapsamında, artık görüntülenmeyen tüm önizlemelerde kullanılan bellekten tasarruf etmek için oluşturma kalitesini kasıtlı olarak düşürüyoruz.
Bu özellik, bir dosyada aynı anda daha fazla önizlemeyi işleyebilmek için önizlemelerin kullanılabilirliğini daha da iyileştirmeyi amaçlamaktadır. Hemen deneyin ve geri bildiriminizi gönderin.

Taban Profiller modülü sihirbazı
Android Studio Iguana'dan başlayarak yeni modül sihirbazındaki Temel Profil Oluşturucu şablonunu kullanarak uygulamanız için Temel Profiller oluşturabilirsiniz (Dosya > Yeni > Yeni Modül).
Bu şablon, projenizi referans profilleri destekleyebilecek şekilde ayarlar. Yeni Baseline Profiles Gradle eklentisini kullanır. Bu eklenti, projenizi tek bir Gradle göreviyle gerekli şekilde ayarlama sürecini otomatikleştirir.
Şablon ayrıca, Çalıştırma/Hata Ayıklama Yapılandırması Seç açılır listesinden tek tıklamayla bir referans profili oluşturmanıza olanak tanıyan bir çalıştırma yapılandırması oluşturur.
Espresso Device API ile yapılandırma değişikliklerine karşı test etme
Cihaz döndürme ve ekranı açma gibi yaygın yapılandırma değişiklikleri geçirirken uygulamanızı test etmek için Espresso Device API'yi kullanın. Espresso Device API, bu yapılandırma değişikliklerini sanal cihazda simüle etmenize ve testlerinizi eşzamanlı olarak yürütmenize olanak tanır. Böylece aynı anda yalnızca bir kullanıcı arayüzü işlemi veya onayı gerçekleşir ve test sonuçlarınız daha güvenilir olur. Espresso ile kullanıcı arayüzü testleri yazma hakkında daha fazla bilgi edinin.
Espresso Device API'yi kullanmak için aşağıdakilere ihtiyacınız vardır:
- Android Studio Iguana veya sonraki sürümler
- Android Gradle eklentisi 8.3 veya daha yeni sürümler
- Android Emulator 33.1.10 veya sonraki sürümler
- API seviyesi 24 veya daha yeni sürümleri çalıştıran Android sanal cihaz
Espresso Device API için projenizi ayarlama
Projenizi Espresso Device API'yi destekleyecek şekilde ayarlamak için aşağıdakileri yapın:
Testin test cihazına komut iletmesine izin vermek için
androidTest
kaynak kümesindeki manifest dosyasınaINTERNET
veACCESS_NETWORK_STATE
izinlerini ekleyin:<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permissions.ACCESS_NETWORK_STATE" />
gradle.properties
dosyasındaenableEmulatorControl
deneysel işaretini etkinleştirin:android.experimental.androidTest.enableEmulatorControl=true
Modül düzeyinde derleme komut dosyasında
emulatorControl
seçeneğini etkinleştirin:Kotlin
testOptions { emulatorControl { enable = true } }
Eski
testOptions { emulatorControl { enable = true } }
Modül düzeyindeki derleme komut dosyasında Espresso Device kitaplığını projenize aktarın:
Kotlin
dependencies { androidTestImplementation("androidx.test.espresso:espresso-device:3.6.1") }
Groovy
dependencies { androidTestImplementation 'androidx.test.espresso:espresso-device:3.6.1' }
Ortak yapılandırma değişikliklerine karşı test etme
Espresso Device API, cihaz yapılandırma değişikliklerini simüle etmek için kullanabileceğiniz birden fazla ekran yönü ve katlanabilir duruma sahiptir.
Ekran döndürmeye karşı test etme
Cihaz ekranı döndüğünde uygulamanıza ne olacağını test etmek için aşağıdaki örneği inceleyebilirsiniz:
Öncelikle, tutarlı bir başlangıç durumu için cihazı dikey moda ayarlayın:
import androidx.test.espresso.device.action.ScreenOrientation import androidx.test.espresso.device.rules.ScreenOrientationRule ... @get:Rule val screenOrientationRule: ScreenOrientationRule = ScreenOrientationRule(ScreenOrientation.PORTRAIT)
Test yürütme sırasında cihazı yatay yöne ayarlayan bir test oluşturun:
@Test fun myRotationTest() { ... // Sets the device to landscape orientation during test execution. onDevice().setScreenOrientation(ScreenOrientation.LANDSCAPE) ... }
Ekran döndürüldükten sonra kullanıcı arayüzünün yeni düzene beklendiği gibi uyum sağladığını kontrol edin:
@Test fun myRotationTest() { ... // Sets the device to landscape orientation during test execution. onDevice().setScreenOrientation(ScreenOrientation.LANDSCAPE) composeTestRule.onNodeWithTag("NavRail").assertIsDisplayed() composeTestRule.onNodeWithTag("BottomBar").assertDoesNotExist() }
Ekran açılmaya karşı test et
Uygulamanız katlanabilir bir cihazdaysa ve ekran açılıyorsa ne olacağını test etmeyi gösteren bir örnek aşağıda verilmiştir:
Öncelikle
onDevice().setClosedMode()
numaralı telefonu arayarak cihazı katlanmış halde test edin. Uygulamanızın düzeninin kompakt ekran genişliğine uyarlandığından emin olun:@Test fun myUnfoldedTest() { onDevice().setClosedMode() composeTestRule.onNodeWithTag("BottomBar").assetIsDisplayed() composeTestRule.onNodeWithTag("NavRail").assetDoesNotExist() ... }
Tamamen açılmış duruma geçmek için
onDevice().setFlatMode()
numaralı telefonu arayın. Uygulamanın düzeninin genişletilmiş boyut sınıfına uyarlandığından emin olun:@Test fun myUnfoldedTest() { onDevice().setClosedMode() ... onDevice().setFlatMode() composeTestRule.onNodeWithTag("NavRail").assertIsDisplayed() composeTestRule.onNodeWithTag("BottomBar").assetDoesNotExist() }
Testleriniz için hangi cihazlara ihtiyaç duyduğunuzu belirtin
Katlanabilir olmayan bir cihazda katlama işlemleri gerçekleştiren bir test çalıştırırsanız test genellikle başarısız olur. Yalnızca çalışan cihazla ilgili testleri yürütmek için @RequiresDeviceMode
ek açıklamasını kullanın. Test çalıştırıcı, test edilen yapılandırmayı desteklemeyen cihazlarda test çalıştırmayı otomatik olarak atlar. Cihaz gereksinimi kuralını her bir teste veya bir test
sınıfının tamamına ekleyebilirsiniz.
Örneğin, bir testin yalnızca düz bir yapılandırmaya açılmayı destekleyen cihazlarda çalıştırılması gerektiğini belirtmek için testinize aşağıdaki @RequiresDeviceMode
kodunu ekleyin:
@Test
@RequiresDeviceMode(mode = FLAT)
fun myUnfoldedTest() {
...
}