Android Studio İguana | 2.2.2023

Android Studio, Android geliştirme için resmi IDE'dir ve Android uygulamaları oluşturmak için ihtiyacınız olan her şeyi içerir.

Bu sayfada, kararlı kanal olan Android Studio Iguana'nın son sürümündeki yeni özellikler ve iyileştirmeler listelenmektedir. Uygulamayı buradan indirebilir veya Yardım > Güncellemeleri kontrol et'i tıklayarak Android Studio içinden güncelleyebilirsiniz (macOS'te Android Studio > Güncellemeleri kontrol et)

Android Studio'nun bu sürümünde nelerin düzeltildiğini görmek için kapatılan sorunlara bakın.

Android Studio'nun eski sürümlerinin sürüm notlarını görmek için Geçmiş sürümler bölümüne bakın.

Yakında kullanıma sunulacak özelliklere ve iyileştirmelere erken erişim için Android Studio'nun derlemelerini önizleme konusuna bakın.

Android Studio'da sorunlarla karşılaşırsanız Bilinen sorunlar veya Sorun giderme sayfasına bakın.

Android Gradle eklentisi ve Android Studio uyumluluğu

Android Studio derleme sistemi Gradle'a dayanır ve Android Gradle eklentisi (AGP), Android uygulamaları oluşturmaya özel çeşitli özellikler ekler. Aşağıdaki tabloda, Android Studio'nun her sürümü için hangi AGP sürümünün gerektiği listelenmektedir.

Android Studio sürümü Gerekli AGP sürümü
Denizanası | 1.3.2023 3,2-8,4
İguana | 1.2.2023 3,2-8,3
Kirpi | 1.1.2023 3,2-8,2
Zürafa | 1.3.2022 3,2-8,1
Flamingo | 1.2.2022 3,2-8,0
Elektrikli Yılan balığı | 1.1.2022 3,2-7,4

Eski sürümler

Android Studio sürümü Gerekli AGP sürümü
Yunus | 1.3.2021 3,2-7,3
Sincap | 1.2.2021 3,2-7,2
Yaban Arısı | 1.1.2021 3,2-7,1
Kutup Tilkisi | 1 Mart 2020 3,1-7,0

Android Gradle eklentisindeki yenilikler hakkında bilgi edinmek için Android Gradle eklentisi sürüm notlarına bakın.

Android API düzeyi için araçların minimum sürümleri

Belirli bir API düzeyini destekleyen minimum Android Studio ve AGP sürümleri vardır. Android Studio veya AGP'nin, projenizin targetSdk ya da compileSdk programının gerektirdiğinden daha eski sürümlerinin kullanılması, beklenmedik sorunlara yol açabilir. Android OS'nin önizleme sürümlerini hedefleyen projelerde çalışmak için Android Studio ve AGP'nin en son önizleme sürümünü kullanmanızı öneririz. Android Studio'nun önizleme sürümlerini kararlı bir sürümle birlikte yükleyebilirsiniz.

Android Studio ve AGP'nin minimum sürümleri aşağıdaki gibidir:

API seviyesi Minimum Android Studio sürümü Minimum AGP sürümü
VanillaIceCream önizlemesi Denizanası | 1.3.2023 8,4
34 Kirpi | 1.1.2023 8.1.1
33 Flamingo | 1.2.2022 7,2

Bunlar, Android Studio Iguana'daki yeni özelliklerdir.

Yama sürümleri

Aşağıda, Android Studio Iguana ve Android Gradle eklentisi 8.3'teki yama sürümlerinin bir listesi bulunmaktadır.

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.

Uygulama Kalitesi Analizleri'nde sürüm kontrolü sistemi entegrasyonu

Uygulama Kalitesi Analizleri artık kilitlenmenin gerçekleştiği anda Crashlytics yığın izlemeden ilgili koda gitmenize olanak tanıyor. AGP, git kaydetme karma verilerini kilitlenme raporlarına ekler. Bu, Android Studio'nun kodunuza gitmesine ve sorunun oluştuğu sürümde nasıl olduğunu göstermesine yardımcı olur. Uygulama Kalitesi Analizleri'nde bir kilitlenme raporu görüntülediğinizde geçerli git ödemenizdeki kod satırına gitmeyi seçebilir veya geçerli ödeme işlemi ile kilitlenmeyi oluşturan kod tabanınızın 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 gereksinimleri karşılamanız gerekir:

Hata ayıklaması yapılabilir bir derleme türünde sürüm kontrolü entegrasyonunu kullanmak için modül düzeyindeki derleme dosyasında vcsInfo işaretini etkinleştirin. Sürüm (hata ayıklaması mümkün olmayan) derlemelerinde bayrak varsayılan olarak etkindir.

Kotlin

android {
  buildTypes {
    getByName("debug") {
      vcsInfo {
        include = true
      }
    }
  }
}

Modern

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 uygulamanızın önceki sürümlerine bağlantı vermesi için gereken verileri içerir.

Uygulama Kalitesi Analizleri'nde Crashlytics kilitlenme varyantlarını görüntüleme

Artık kilitlenmenin temel nedenlerini analiz etmenize yardımcı olacak Uygulama Kalitesi Analizleri'ni kullanarak etkinlikleri sorun varyantlarına veya benzer yığın izlemeleri paylaşan etkinlik gruplarına göre görüntüleyebilirsiniz. Bir kilitlenme raporunun her varyantındaki etkinlikleri görüntülemek için açılır listeden bir varyant seçin. Tüm varyantların bilgilerini toplamak için Tümü'nü seçin.

Kullanıcı Arayüzü Denetimi Oluştur

Geliştiricilerin Jetpack Compose'da daha uyarlanabilir ve erişilebilir kullanıcı arayüzleri geliştirmelerine yardımcı olmak için Android Studio Iguana Canary 5, Compose önizlemesinde yeni bir Kullanıcı Arayüzü Kontrolü modunu kullanıma sundu. Bu özellik, görünümler için görsel hata analizi ve Erişilebilirlik kontrolleri entegrasyonlarına benzer şekilde çalışır. Oluştur Kullanıcı Arayüzü Kontrolü modunu etkinleştirdiğinizde Android Studio, Oluşturma kullanıcı arayüzünüzü otomatik olarak denetler ve büyük ekranlarda genişletilmiş metin veya düşük renk kontrastı gibi farklı ekran boyutlarında uyarlanabilirlik ve erişilebilirlik sorunlarını kontrol eder. Mod, farklı önizleme yapılandırmalarında bulunan sorunları vurgular ve sorunlar panelinde listeler.

Oluşturma Önizlemesi'ndeki Kullanıcı Arayüzü Kontrol düğmesini tıklayarak bu özelliği hemen deneyin ve geri bildiriminizi gönderin:

Kontrolü etkinleştirmek için Oluştur Kullanıcı Arayüzü Denetim modu düğmesini tıklayın.

Kullanıcı Arayüzü Kontrol Modu ile ilgili bilinen sorunlar:

  • Sorun panelinde seçilen sorunun odağı kaybolabilir
  • "Engelleme kuralı" çalışmıyor
Oluştur Kullanıcı Arayüzü Kontrol modu, sorunlar panelinde ayrıntılarla birlikte etkinleştirildi.

Oluşturma Önizlemesi için Progresif Oluşturma

Android Studio Iguana Canary 3, Oluşturma Önizlemesinde Progresif Oluşturma özelliğini kullanıma sunuyor. Önizlemeleri daha yüksek performanslı hale getirme konusundaki kesintisiz çalışmalarımız kapsamında, artık görülemeyen ö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 önizlemenin işlenmesiyle Önizlemelerin kullanılabilirliğini daha da artırmak amacıyla geliştirilmiştir. Hemen deneyin ve geri bildiriminizi gönderin.

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.

Temel Profiller modül sihirbazı

Android Studio Iguana'dan başlayarak, yeni modül sihirbazındaki (Dosya > Yeni > Yeni Modül) Temel Profil Oluşturucu şablonunu kullanarak uygulamanız için Temel Profiller oluşturabilirsiniz.

Bu şablon, projenizi Temel Profilleri destekleyebilecek şekilde ayarlar. Projenizi gerekli şekilde oluşturma sürecini tek bir Gradle göreviyle otomatikleştiren yeni Baseline Profiles Gradle eklentisini kullanır.

Şablon, Çalıştır/Hata Ayıklama Yapılandırması Seç açılır listesinden tek tıklamayla Temel Profil oluşturmanıza olanak tanıyan bir çalıştırma yapılandırması da oluşturur.

Espresso Device API ile yapılandırma değişikliklerine göre test etme

Cihaz döndürme ve ekranı açma gibi yaygın yapılandırma değişikliklerinden geçtiğinde uygulamanızı test etmek için Espresso Device API'yi kullanın. Espresso Device API, bu yapılandırma değişikliklerini sanal bir cihazda simüle etmenize olanak tanır ve testlerinizi eşzamanlı olarak yürütür. Böylece, tek seferde 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 şunlar gerekir:

  • Android Studio Iguana veya üstü
  • Android Gradle eklentisi 8.3 veya sonraki sürümler
  • Android Emulator 33.1.10 veya sonraki sürümler
  • API düzeyi 24 veya üstünü çalıştıran Android sanal cihazı

Projenizin Espresso Device API'si için kurulumunu yapma

Projenizi Espresso Device API'yi destekleyecek şekilde ayarlamak için aşağıdakileri yapın:

  1. Testin komutları test cihazına geçirmesini sağlamak için INTERNET ve ACCESS_NETWORK_STATE izinlerini androidTest kaynak grubundaki manifest dosyasına ekleyin:

      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permissions.ACCESS_NETWORK_STATE" />
  2. gradle.properties dosyasında enableEmulatorControl deneysel işaretini etkinleştirin:

      android.experimental.androidTest.enableEmulatorControl=true
  3. Modül düzeyindeki derleme komut dosyasında emulatorControl seçeneğini etkinleştirin:

    Kotlin

      testOptions {
        emulatorControl {
          enable = true
        }
      }

    Modern

      testOptions {
        emulatorControl {
          enable = true
        }
      }
  4. Modül düzeyindeki derleme komut dosyasında, Espresso Cihazı kitaplığını projenize aktarın:

    Kotlin

      dependencies {
        androidTestImplementation("androidx.test.espresso:espresso-device:3.5.1")
      }

    Modern

      dependencies {
        androidTestImplementation 'androidx.test.espresso:espresso-device:3.5.1'
      }

Sık kullanılan yapılandırma değişikliklerine göre test etme

Espresso Device API, cihaz yapılandırması değişikliklerini simüle etmek için birden fazla ekran yönü ve katlanabilir durum sunar.

Ekran döndürmeye göre test et

Cihaz ekranı döndüğünde uygulamanıza ne olduğunu test etmenin bir örneğini aşağıda bulabilirsiniz:

  1. Ö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)
  2. 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)
        ...
      }
  3. Ekran döndükten sonra, kullanıcı arayüzünün beklendiği gibi yeni düzene uyum sağladığından emin olun:

      @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ı katlamaya karşı test et

Uygulamanız katlanabilir bir cihazdaysa ve ekranı açılmışsa uygulamanıza ne olduğunu nasıl test edeceğinize dair bir örneği aşağıda bulabilirsiniz:

  1. Öncelikle onDevice().setClosedMode() çağrısı yaparak cihazı katlanmış halde test edin. Uygulama düzeninizin küçük ekran genişliğine uyum sağladığından emin olun:

      @Test
      fun myUnfoldedTest() {
        onDevice().setClosedMode()
        composeTestRule.onNodeWithTag("BottomBar").assetIsDisplayed()
        composeTestRule.onNodeWithTag("NavRail").assetDoesNotExist()
        ...
      }
  2. Tamamen açılmış bir duruma geçmek için onDevice().setFlatMode() numaralı telefonu arayın. Uygulamanın düzeninin genişletilmiş boyut sınıfına uyum sağladığından emin olun:

      @Test
      fun myUnfoldedTest() {
        onDevice().setClosedMode()
        ...
        onDevice().setFlatMode()
        composeTestRule.onNodeWithTag("NavRail").assertIsDisplayed()
        composeTestRule.onNodeWithTag("BottomBar").assetDoesNotExist()
      }

Testlerinizin ihtiyaç duyduğu cihazları belirtin

Katlanabilir olmayan bir cihazda katlama işlemleri gerçekleştiren bir test çalıştırıyorsanız test genellikle başarısız olur. Yalnızca çalışan cihazla alakalı 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ırma işlemini otomatik olarak atlar. Cihaz gereksinimi kuralını her teste veya bir test sınıfının tamamına ekleyebilirsiniz.

Örneğin, bir testin yalnızca düz yapılandırmaya açmayı destekleyen cihazlarda çalıştırılması gerektiğini belirtmek için testinize aşağıdaki @RequiresDeviceMode kodunu ekleyin:

@Test
@RequiresDeviceMode(mode = FLAT)
fun myUnfoldedTest() {
  ...
}