Android Studio Dolphin | 1.3.2021 (Eylül 2022)

Android Studio Dolphin'deki yeni özellikler aşağıda belirtilmiştir.

Compose'da yeni

Aşağıda, Android Studio'daki Jetpack Compose'a yönelik yeni özellikler ve iyileştirmeler yer almaktadır.

Animasyon Koordinasyonu Oluşturma

Animasyonlarınız oluşturulabilir bir önizlemede açıklanıyorsa artık tümünü aynı anda incelemek ve koordine etmek için Animasyon Önizlemesi'ni kullanabilirsiniz. Ayrıca, belirli bir animasyonu dondurabilirsiniz.

Tüm Animasyonlar kullanıcı arayüzüyle incelemeyi gösteren GIF

Çoklu Önizleme Ek Açıklamaları Oluşturma

Artık birden çok Önizleme tanımı içeren bir ek açıklama sınıfı tanımlayabilir ve bu yeni ek açıklamayı, bu önizlemeleri aynı anda oluşturmak için kullanabilirsiniz. Bu yeni ek açıklamayı, oluşturulan her bir öğe için bu tanımları tekrarlamadan, aynı anda birden çok cihazı, yazı tipini ve temayı önizlemek için kullanın.

Çoklu önizleme ek açıklamaları kullanıcı arayüzü

Düzen İnceleyici'de Yeniden Oluşturma Sayıları Oluşturma

Oluşturma düzenlerinizde hata ayıklarken, kompozitlerin ne zaman yeniden oluşturup oluşturmadığını bilmek, kullanıcı arayüzünüzün düzgün bir şekilde uygulanıp uygulanmadığını anlamak açısından önemlidir. Örneğin, çok fazla sayıda yeniden oluşturma işlemi gerçekleştiriliyorsa uygulamanız gerekenden daha fazla çalışıyor olabilir. Diğer yandan, olmasını beklediğiniz zamanda yeniden oluşturulmayan bileşenler beklenmedik davranışlara yol açabilir.

Layout Inspector artık, düzen hiyerarşinizdeki ayrı kompozit öğelerin ne zaman yeniden oluşturulduğunu veya atlandığını görmenize olanak tanır. Bu bilgiler, siz uygulamanızla etkileşimde bulunduğunuz sırada canlı olarak gösterilir. Başlamak için uygulamanızın Oluştur 1.2.0-alpha03 veya üstünü kullandığından emin olun. Ardından uygulamanızı normalde yaptığınız gibi dağıtın.

Düzen Denetleyicisi'nde yeni beste ve atlama sayacı

Düzen Denetleyici penceresini açın ve uygulama işleminize bağlanın. Bileşen Ağacı'nda, düzen hiyerarşisinin yanında iki yeni sütun görmeniz gerekir. İlk sütunda her bir düğüm için bileşim sayısı gösterilir. İkinci sütunlar, her bir düğüm için atlama sayısını gösterir. Bileşen Ağacı veya Düzen Görünümü'nden bir beste seçtiğinizde de Özellikler bölmesinde de benzer bilgiler görebilirsiniz.

Sayıyı sıfırlamak isterseniz Bileşen Ağacı panelinin üst kısmındaki Sıfırla'yı tıklayın. Sayıyı sıfırlamak, uygulamanızla belirli bir etkileşim sırasında yapılan yeniden oluşturmaları veya atlamaları anlamanıza yardımcı olabilir.

Düzen Denetleyicisi'nde kompozisyonu etkinleştirme ve sayacı atlama

Wear OS emülatör eşleme asistanı güncellendi

Android Studio Dolphin Canary 3'ten başlayarak Wear OS emülatör eşleme asistanı, Wear emülatörlerini yönetmeyi ve bağlamayı kolaylaştıran iyileştirilmiş özelliklere sahiptir. Artık şunları yapabilirsiniz:

  • Cihaz Yöneticisi'nde Wear cihazlara bakın.
  • Birden fazla Wear cihazını tek bir sanal veya fiziksel telefonla eşleyin.
  • Başlatıldıklarında, daha önce eşlenen cihazları otomatik olarak yeniden bağlayın. Android Studio artık son kurulumu hatırlayıp yeniden eşliyor.

Bu yeni özellikleri kullanabilmek için telefon emülatörlerinizin API düzeyi 30 veya üstü olduğundan ve Google Play Store'un yüklü olduğundan emin olun. Ayrıca, Wear emülatörlerinizin API düzeyi 28 veya üstü olduğundan emin olun. Öykünülen cihazlarınızda en yeni sistem görüntülerine geçmek için Araçlar > SDK Yöneticisi'ne gidin.

Daha fazla bilgi edinmek için Wear OS emülatör eşleme asistanını kullanma başlıklı makaleye göz atın.

Wear OS emülatör araç çubuğu güncellendi

Android Studio Dolphin Canary 2'den başlayarak, API düzeyi 28 veya sonraki sürümleri olan Wear emülatörleri için emülatör araç çubuğunda artık fiziksel düğmeleri ve cihazdaki genel işlemleri simüle eden düğmeler bulunmaktadır. Yeni düğmeler şunlardır: Düğme 1 ve Düğme 2 (Düğme 2 yalnızca API düzeyi 30 veya sonraki sürümlerde kullanılabilir), Avuç İçi düğmesi ve Eğme düğmesi. Wear emülatörünüzdeki yeni düğmeleri kullanarak yapabileceğiniz işlemlerden bazıları şunlardır:

  • Cihazınızı ambiyans moduna ayarlamak için Avuç içi düğmesini tıklayın.
  • Cihazınızı ambiyans modundan önceki son ekrana döndürmek için Yatır düğmesini tıklayın.

Daha fazla bilgi için Emülatörde genel işlemleri gerçekleştirme bölümüne bakın.

Wear'a özel düğmelere sahip Wear emülatörü

Yeni Wear OS çalıştırma yapılandırmaları

Wear OS'e özel kadranlar, kartlar ve özellikler gibi yüzeyleri hızlı bir şekilde çalıştırıp hata ayıklamak için yeni çalıştırma yapılandırmaları eklendi. Bu yeni yapılandırmaları, uygulamanızı çalıştırırken Çalıştır/Hata Ayıklama Yapılandırmaları iletişim kutusundan oluşturabilirsiniz.

Daha fazla bilgi için Wear OS çalıştırma/hata ayıklama yapılandırmaları başlıklı makaleye bakın.

WearOS'un yeni lansman yapılandırmaları

Yeni Logcat

Logcat, günlükleri ayrıştırmayı, sorgulamayı ve izlemeyi kolaylaştıracak şekilde güncellendi.

Yeni biçimlendirici

Logcat, etiketler ve mesajlar gibi faydalı bilgilerin taranmasını ve uyarı ve hata gibi farklı günlük türlerini tanımlamayı kolaylaştırmak için günlükleri biçimlendiriyor.

Logcat'teki günlükler için yeni biçimlendirme

Birden çok Logcat penceresi oluşturma

Artık Logcat'te birden fazla sekme oluşturabilir, böylece farklı cihazlar veya sorgular arasında kolayca geçiş yapabilirsiniz. Bir sekmeyi sağ tıklayarak yeniden adlandırabilirsiniz. Sekmeleri tıklayıp sürükleyerek yeniden düzenleyebilirsiniz.

Ayrıca, iki günlük grubu arasında kolayca karşılaştırma yapabilmeniz için artık günlük görünümünde sağ tıklayıp Sağa Böl veya Böl'ü seçerek görünümü bir sekme içinde bölebilirsiniz. Bölmeyi kapatmak için sağ tıklayıp Kapat'ı seçin. Her bölme, kendi cihaz bağlantısını, görüntüleme seçeneklerini ve sorguyu ayarlamanıza olanak tanır.

Bölme işlemlerini kullanarak birden çok logcat penceresi oluşturma

Görünüm hazır ayarları arasında geçiş yapın

Logcat, artık Görünüm modu seçici simgesini tıklayarak farklı görünüm modları (Standart, Kompakt ve Özel) arasında hızla geçiş yapmanıza olanak tanıyor. Her görüntüleme modu, zaman damgaları, etiketler ve işlem kimlikleri (PID) gibi daha fazla veya daha az bilgi göstermek için farklı bir varsayılan ayar sağlar. Ayrıca Görünümü Değiştir'i seçerek bu varsayılan görüntüleme modlarının her birini ve özel bir görünüm modunu özelleştirebilirsiniz.

Farklı görüntüleme modları arasında geçiş yapmaya ilişkin ekran görüntüsü

Logcat'in önceki sürümünde, dize araması (normal ifadeleri destekleyen) veya Logcat kullanıcı arayüzünü kullanarak çeşitli alanları doldurarak yeni bir filtre oluşturma seçeneğiniz vardı. İlk seçenek aramayı daha karmaşık hale getirirken, ikinci seçenek sorguların paylaşılmasını ve ayarlanmasını daha zor hale getirdi. Doğrudan ana sorgu alanından anahtar/değer araması yaparak bu deneyimi basitleştirdik.

Otomatik tamamlamalı yeni sorgu söz diziminin ekran görüntüsü

Bu yeni sorgu sistemi, normal ifadelere bağlı kalmadan, sorgulamak istediğiniz şeylerin doğruluğunu sağlar, geçmişte yapılan sorguları hatırlama ve bu sorguları başkalarıyla paylaşma olanağı sunar. Ayrıca RegEx'i kullanmaya devam edebilir ve günlükleri anahtar/değer çiftlerine göre hariç tutabilirsiniz. Aşağıda, yeni sorgu sisteminin nasıl kullanılacağına dair bazı örnekler verilmiştir. Ancak önerileri görmek için sorgu alanına yazmaya da başlayabilirsiniz:

  • Yerel uygulama projesinin PID'leri: package:mine
  • Spesifik değerler:
    • package:<package-ID>
    • tag:<tag>
    • level:[VERBOSE | INFO | ASSERT |DEBUG | WARN | ERROR ]
  • Anahtarın önüne - ekleyerek belirli bir değeri hariç tutma:
    • -tag:<exclude-tag>
  • Anahtarın arkasına ~ yerleştirerek belirli bir anahtarla normal ifadeleri kullanın:
    • tag~:<regular-expression-tag>
    • Hariç tutma etiketiyle birleştir: -tag~:<exclude-regular-expression-tag>

Ayrıca, sorgu alanında Sorgu geçmişi seçici simgesini tıklayıp açılır menüden seçim yaparak sorgu geçmişini de görebilirsiniz. Bir sorguyu tüm stüdyo projelerinizde listenin başında olacak şekilde favorilere eklemek için sorgu alanının sonundaki Favori sorgu işaretini tıklayın.

Favorileri içeren ekran görüntüsü sorgu geçmişi

Uygulama kilitlenmeleri/yeniden başlatma işlemleri arasında günlükleri izleme

Yeni Logcat, uygulama kilitlenme ve yeniden başlatmalarında uygulamanızdaki günlükleri izlemenizi artık daha kolay hale getiriyor. Böylece, bu etkinliklerdeki önemli günlükleri kaçırmamış oluyorsunuz. Bir Logcat, uygulama işleminizin durduğunu ve yeniden başlatıldığını fark ettiğinde çıkışta aşağıda gösterildiği gibi PROCESS ENDED ve PROCESS STARTED gibi bir mesaj görürsünüz:

Logcat&#39;te işlemin yeniden başlatılmasının ekran görüntüsü

Ayrıca, Logcat'i yeniden başlattığınızda sekme bölmeleri, filtreler ve görünüm seçenekleri gibi oturum yapılandırmanızı koruyarak oturumunuza kolayca devam edebilirsiniz.

Gradle Yönetilen Cihazlar

Otomatikleştirilmiş testleriniz için Android Sanal Cihazları kullanırken tutarlılığı, performansı ve güvenilirliği artırmak amacıyla Gradle Yönetilen Cihazlar'ı kullanıma sunuyoruz. API düzeyi 27 ve üzeri için kullanılabilen bu özellik, projenizin Gradle dosyalarında sanal test cihazları yapılandırmanıza olanak tanır. Derleme sistemi, otomatik testlerinizi yürütürken bu cihazları tümüyle yönetmek, yani oluşturmak, dağıtmak ve ortadan kaldırmak için yapılandırmaları kullanır.

Bu özellik, Gradle'a yalnızca çalıştırdığınız testler için değil, cihazların yaşam döngüsünde de görünürlük sağlayarak test deneyiminizin kalitesini aşağıdaki şekillerde iyileştirir:

  • Testlerinizin yürütüldüğünden emin olmak için cihazla ilgili sorunları ele alır
  • Cihazın başlatma süresini ve bellek kullanımını iyileştirmek ve testler arasında cihazları temiz bir duruma geri yüklemek için emülatör anlık görüntülerinden yararlanır
  • Test sonuçlarını önbelleğe alır ve yalnızca farklı sonuçlar sağlayabilecek testleri tekrar çalıştırır.
  • Testlerinizi yerel ve uzaktan test çalıştırmaları arasında çalıştırmak için tutarlı bir ortam sağlar

Ayrıca Gradle Yönetilen Cihazlar, enstrümantasyon testlerinizi çalıştırırken performansı iyileştirmek için optimize edilen Otomatik Test Cihazları (ATD) adlı yeni bir Emülatör cihaz türünü de kullanıma sunar. Test parçalama desteğiyle birlikte, genel test yürütme süresini kısaltmak için test paketinizi birden fazla ATD örneğine bölerek deneme yapabilirsiniz. Gradle Yönetilen Cihazlar ve ilişkili özellikleri hakkında daha fazla bilgi edinmek için Gradle Yönetilen Cihazlar ile testlerinizi ölçeklendirme bölümüne bakın.

DEX talimatı ofsetlerine dayalı eşleme dosyalarını kullanan R8 desteği

R8 artık satır bilgilerini optimize ederken talimat ofsetlerine dayalı olarak paylaşılan hata ayıklama bilgileri nesnelerindeki bilgileri satır tablolarıyla kodlayabilir. Bu da hat bilgilerinin ek yükünü önemli ölçüde azaltır. Bunun sonucunda, yöntemlerdeki satırlar artık ardışık değildir, ancak talimatların boyutuna bağlı olarak aralıklarla atlayabilir. Bazı araçların bu paylaşılan kodlamayı dikkate almadığını unutmayın.

Ayrıca, O (API Düzeyi 26) sürümünden başlayan Android sanal makineleri, yöntemin satır numarası bilgisi yoksa yığın izlemelerde yazdırma talimatları ofsetlerini destekler. minSdk 26 veya sonraki sürümlerle derleme yaparken ve kaynak dosya bilgisi olmadan R8, satır numarası bilgilerini tamamen çıkarır.

Durum bilgisiz lambdalar artık tekil lambdalar olarak şekerden arındırılmıyor

Durum bilgisiz lambda'lar artık şekeri alma sırasında tekil olarak ayrılmıyor. Tekiller olarak gösterim, eklenen alan ve sınıf başlatıcı nedeniyle kod boyutu ek yükü ve statik sınıf başlatma nedeniyle başlatma ek yükü ekler. Durum bilgisiz lambda'lar artık kullanım sitelerinde durum bilgili lambda'larla (yakalanmış lambda'lar) olduğu gibi tahsis edilmektedir.

R8, Android çalışma zamanlarında doğrulama yavaşlamasını önler

Android çalışma zamanlarında (Dalvik ve ART) performans sorunlarını ortadan kaldırmak için R8 (D8 değil) artık kitaplık saplamaları sunuyor ve çalışma zamanında mevcut olmayabilecek kitaplık sınıfları ve yöntemleri için kitaplık yöntemlerine yapılan çağrıları özetliyor. Böylece doğrulama ile ilgili pek çok sorun ortadan kalkar ve çalışma zamanı performansı artar. Bu özellik her zaman etkindir.

Java 8+ API şeker giderme ile JDK-11 API'leri için destek

coreKitaplıkDesugaring bağımlılığı kullanılırken artık JDK-11'e dayalı bir uygulama kitaplığı desteklenir. Daha fazla bilgi içindesugar_jdk_libs değişiklik günlüğüne bakın.

Yama sürümleri

Android Studio Dolphin'deki Yama sürümlerinin listesi aşağıda verilmiştir.

Android Studio Dolphin | 2021.3.1 Yama 1 (Ekim 2022)

Yama 1 sürümüyle birlikte Android Studio Dolphin artık Kotlin eklentisi 1.7.20'yi desteklemektedir. Bu küçük güncelleme aşağıdaki hata düzeltmelerini de içerir:

Çözülen Sorunlar
Android Gradle Eklentisi
Gradle ile araçlı Android testleri çalıştırıldığında şeker giderme doğru şekilde uygulanamıyor
AGP 7.3.0, gradle platform projeleri için gradle senkronizasyonunu kesiyor
Dexer (D8)
DEX'i birleştirirken çakışma çözümü için genel bir API ekleme (bazel'in yinelenen sınıflara izin vermesi için)
İçe Aktarma/Senkronizasyon
Chipmunk Yaması 2'den yükseltme sonrasında Gradle Projesi İçe Aktarma başarısız oluyor (2021.2.1)
Kaynaklar
AarResourceRepositoryCache.createCachingData'da NPE (AS Dolphin+)
Desen (R8)
Alanları değiştirirken Kotlin meta verileri kopyalanmıyor
Doğru olmayan türde beklenmeyen dönüşüm: TOP (her şey)
APK derleme hatasına neden olan Gradle 7.3.0 com.android.tools.r8.CompilationFailedException
Uyumlu modda ölü varsayılan kurucuları kaldır.
JetBrains Markdown ile çakışma
ThreadLocal.withInitial(java.util.function.Vendor için) desteği
AGP 7.3, bozuk kurucusu olan sınıflar için dex oluşturur
CF olmayan kodun şekerden arındırılması gerekip gerekmediğini belirleme girişimi
ktor Doğrulama Hatası
okio-jvm 3.2.0 işlenirken derleme sırasında tanımlanmamış değerle karşılaşıldı
Sınıf satır içi nesnede kullanıcıların dolaylı örneğiyle derleme hatası
R8 3.3.75 ile java.lang.IllegalAccessError