Android Studio Hedgehog | 1.1.2023 (Kasım 2023)

Aşağıdakiler, Android Studio Hedgehog'daki yeni özelliklerdir.

IntelliJ IDEA 2023.1 platform güncellemesi

Android Studio Hedgehog, Studio IDE deneyimini iyileştiren IntelliJ IDEA 2023.1 güncellemelerini içerir. Değişikliklerle ilgili ayrıntılar için IntelliJ IDEA 2023.1 sürüm notlarına göz atın.

Uygulama Kalitesi Analizleri'nde Android vitals'ı analiz etme

Uygulama Kalitesi Analizleri artık Android vitals verilerini içeriyor. Bu sayede Google Play tarafından toplanan temel metriklere daha kolay erişebilir ve kullanıcı deneyiminizi iyileştirebilirsiniz. Google Play'de uygulamanızın kalitesini iyileştirmeye yardımcı olmak üzere uygulama kararlılığı ile ilgili sorunları gidermek için Android vitals'ı kullanın.

Uygulama Kalitesi Analizleri araç penceresinden Android vitals sorunlarını görüntüleyebilir, filtreleyebilir ve yığın izlemeden kodlamaya geçebilirsiniz. Başlamak için şu adımları uygulayın:

  1. Araç çubuğunun sonundaki profil simgesini kullanarak Android Studio'da geliştirici hesabınızda oturum açın.
  2. Android Studio'daki araç penceresini tıklayarak veya Görünüm > Araç Pencereleri > Uygulama Kalitesi Analizleri'ni tıklayarak Uygulama Kalitesi Analizleri'ni açın.
  3. Uygulama Kalitesi Analizleri'nde Android vitals sekmesini tıklayın.

Android vitals ve Crashlytics arasındaki farklı sayılar

Android vitals ve Crashlytics'in, aynı kilitlenmeyle ilişkilendirilen kullanıcı ve etkinlik sayısı için farklı değerler rapor edebileceğini unutmayın. Bu tutarsızlıklar, Play ve Crashlytics'in farklı zamanlarda ve farklı kullanıcılar için kilitlenmeleri yakalayabilmesinden kaynaklanır. Play ve Crashlytics sayılarının farklı olmasına yol açabilecek birkaç nedeni aşağıda bulabilirsiniz:

  • Play, kilitlenmeleri başlatma zamanından itibaren yakalarken Crashlytics, Crashlytics SDK başlatıldıktan sonra meydana gelen kilitlenmeleri yakalar.
  • Bir kullanıcı yeni telefon aldığında kilitlenme raporu özelliğini devre dışı bırakırsa bu kilitlenmeler Play'e bildirilmez. Ancak Crashlytics, kilitlenmeleri bir uygulamanın kendi gizlilik politikasına göre yakalar.

Yeni Power Profiler

Power Profiler, Android Studio Hedgehog'dan başlayarak cihazlardaki güç tüketimini gösterir. Bu yeni verileri Cihaz Üzerindeki Power Rails Monitor'da (ODPM) görüntüleyebilirsiniz. ODPM, verileri Power Rails adı verilen alt sistemlere göre segmentlere ayırır. Desteklenen alt sistemlerin listesi için Profillenebilir güç rayları bölümüne bakın.

Sistem İzleme, güç tüketimi verilerini kaydedip görüntüler. CPU profil aracının bir parçasıdır. Bu veriler, cihazın güç tüketimini uygulamanızda gerçekleşen işlemlerle görsel olarak ilişkilendirmenize yardımcı olur. Güç Profil Aracı bu verilerin görselleştirilmesini sağlar.

Yeni Power Profiler

Yeni Power Profiler'daki verileri görüntülemek için Pixel 6+ cihazda bir sistem izlemesi alın:

  1. Görünüm > Araç Pencereleri > Profil Aracı'nı seçin.
  2. CPU Profil Aracı'nı açıp bir sistem izlemesi başlatmak için CPU zaman çizelgesinde herhangi bir yeri tıklayın.

Yeni Uygulama Bağlantıları Asistanı, uygulamanızda oluşturulan derin bağlantılara kapsamlı bir genel bakış sunar. Asistan, uygulamanın AndroidManifest.xml dosyasındaki mevcut tüm derin bağlantıları görüntüler, bu derin bağlantıların yapılandırmalarının doğru olup olmadığını doğrular ve yanlış yapılandırmaları otomatik olarak düzeltmenin hızlı bir yolunu sunar.

Uygulama Bağlantıları Asistanı'nı açmak için Android Studio'da Araçlar > Uygulama Bağlantıları Asistanı'na gidin. Uygulama bağlantıları hakkında daha fazla bilgi için Android Uygulama Bağlantıları Ekleme bölümüne bakın.

Canlı Düzenleme'nin güncellenmiş manuel mod kısayolu

Android Studio Hedgehog'daki Canlı Düzenleme özelliği, manuel mod için yeni bir kısayol içerir (Manuel Olarak Aktar): Control+\ (macOS için Command+\). Manuel mod, güncellemelerin çalışan uygulamaya ne zaman dağıtılacağı üzerinde tam kontrol sahibi olmak istediğiniz durumlarda kullanışlıdır. Örneğin, bir dosyada büyük ölçekli bir değişiklik yapıyor ve cihaza herhangi bir ara durumun yansıtılmasını istemiyorsanız bu seçeneği kullanabilirsiniz. Canlı Düzenleme ayarlarında veya Canlı Düzenleme kullanıcı arayüzü göstergesini kullanarak Manuel Olarak Aktar ve Kaydetirken Manuel Olarak Aktar arasından seçim yapabilirsiniz. Daha fazla bilgi için JetpackCompose için Canlı Düzenleme'deki video klibe bakın.

Çoklu önizleme şablonları oluşturma

androidx.compose.ui:ui-tooling-preview 1.6.0-alpha01+ yeni Multipreview API şablonları sunar: @PreviewScreenSizes, @PreviewFontScales, @PreviewLightDark ve @PreviewDynamicColors. Böylece sık karşılaşılan senaryolarda Compose kullanıcı arayüzünüzü tek bir ek açıklama ile önizleyebilirsiniz.

Android Studio Hedgehog'da, aynı anda bir önizlemeye odaklanmanızı ve oluşturma sırasında kaynaklardan tasarruf etmenizi sağlayan Oluşturma Önizlemesi'nde yeni bir Galeri modu kullanıma sunuldu. Uygulamanızın kullanıcı arayüzünde yineleme yapmanız ve diğer modlara (ör. Izgara veya Liste) geçmeniz gerektiğinde Galeri Modu'nu kullanmanızı öneririz.

Hata ayıklayıcıda durum bilgilerini oluşturma

Compose kullanıcı arayüzünüzün bazı bölümleri beklenmedik bir şekilde yeniden derlendiğinde bazen nedenini anlamak zor olur. Hata ayıklayıcı artık composable bir işlevde ayrılma noktası ayarlarken composable'ın parametrelerini ve durumlarını listeler. Böylece, yeniden derlemeye neden olabilecek değişiklikleri daha kolay bir şekilde belirleyebilirsiniz. Örneğin, bir composable'da durakladığınızda hata ayıklayıcı, hangi parametrelerin "Değiştirildi" veya "Değiştirilmedi" olarak kaldığını size bildirebilir. Böylece, yeniden oluşturma işleminin nedenini daha verimli bir şekilde araştırabilirsiniz.

Cihaz yansıtma

Artık fiziksel cihazınızı Android Studio'daki Çalışan Cihazlar penceresinde yansıtabilirsiniz. Cihazınızın ekranını doğrudan Android Studio'ya aktararak, uygulamaları başlatma ve uygulamalarla etkileşimde bulunma, ekranı döndürme, telefonu katlama ve açma, ses düzeyini değiştirme gibi sık kullanılan işlemleri ve daha fazlasını doğrudan Studio IDE'den gerçekleştirebilirsiniz.

Cihaz yansıtma, bilgisayara bağlı, USB veya kablosuz hata ayıklama işlevi etkinleştirilmiş cihazlar olduğunda her zaman kullanılabilir. Yansıtmayı Çalışan Cihazlar penceresini veya Cihaz Yöneticisi'ni (Görünüm > Araç Pencereleri > Cihaz Yöneticisi) kullanarak başlatabilir ve durdurabilirsiniz. Ayrıca, cihaz yansıtmasının ne zaman etkinleştirileceğini ayarlardan özelleştirebilirsiniz (Ayarlar > Araçlar > Cihaz Yansıtma).

Çalıştırılan Cihazlar Kullanıcı Arayüzü

Bilinen sorunlar

Bazı cihazlar, cihaz yansıtmasını desteklemek için yeterli bir bit hızında kodlama yapamayabilir. Bu tür durumlarda, aşağıdakine benzer günlüklerin yanı sıra Çalışan Cihazlar penceresinde bir hata görebilirsiniz.

2023-06-01 15:32:22,675 [  56094]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - Too many video encoder errors:
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - encoder: c2.android.vp8.encoder
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - mime type: video/x-vnd.on2.vp8
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max resolution: 640x640
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - min resolution: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - alignment: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate: 960
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate for 288x640: 960
2023-06-01 15:32:22,870 [  56289]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max bitrate: 20000000
2023-06-01 15:32:22,871 [  56290]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - terminated with code 1

Gizlilik uyarısı

Android Studio, cihaz yansıtma ayarlarına bağlı olarak, bağlı ve eşlenmiş tüm cihazlar için cihaz yansıtmasını otomatik olarak başlatabilir. Yansıtma bilgileri ve komutlar, şifrelenmemiş bir kanal üzerinden iletildiğinden bu durum, adb tcpip komutuyla bağlı cihazlar için bilgilerin açıklanmasına neden olabilir. Buna ek olarak, Android Studio adb sunucusuyla iletişim kurmak için şifrelenmemiş bir kanal kullanır. Bu sayede, ana makinenizdeki diğer kullanıcılar yansıtılan bilgilere müdahale edebilir.

Donanım girişi yönlendirme

Artık fare ve klavye gibi iş istasyonu donanım girişlerinizin bağlı bir fiziksel ve sanal cihaza şeffaf bir şekilde yönlendirilmesini sağlayabilirsiniz. Şeffaf yönlendirmeyi etkinleştirmek amacıyla Çalışan Cihazlar penceresinde hedef cihaz için Donanım girişi'ni tıklayın.

Cihazları doğrudan Çalışan Cihazlar penceresinden yönetme

Artık doğrudan Çalışan Cihazlar penceresinden + simgesini tıklayıp bir cihaz seçerek Android Virtual Device'ı (AVD) başlatabilir veya fiziksel bir cihazı yansıtmaya başlayabilirsiniz. Fiziksel bir cihazın ortalama görüntüleme süresini veya yansıtmasını durdurmak için cihaz sekmesini kapatın.

Çalışan Cihazlar'daki Cihaz açılır menüsü

Katıştırılmış Düzen Denetleyici

Android Studio Hedgehog Canary 2 sürümünden başlayarak, Düzen Denetleyici'yi doğrudan Çalışan Cihazlar araç penceresinden çalıştırabilirsiniz. Bu deneysel özellik, ekran alanını korur ve kullanıcı arayüzü hata ayıklama iş akışınızı tek bir araç penceresinde düzenlemenize yardımcı olur. Yerleşik modda bir görünüm hiyerarşisi gösterebilir, her görünümün özelliklerini inceleyebilir ve diğer yaygın Layout Inspector özelliklerine erişebilirsiniz. Seçeneklerin tamamına erişmek için hâlâ Layout Inspector'ı bağımsız bir pencerede çalıştırmanız gerekir (Windows'da Dosya > Ayarlar > Deneysel > Layout Inspector veya macOS'te Android Studio > Ayarlar > Deneysel > Layout Inspector).

Yerleştirilmiş Layout Inspector'ın sınırlamalarından biri, 3D modun yalnızca anlık görüntülerde kullanılabilmesidir.

Yerleşik Layout Inspector'ı iyileştirmemize yardımcı olmak için lütfen bize geri bildirim gönderin.

Yeni kullanıcı arayüzü iyileştirmeleri

Android Studio'nun yeni kullanıcı arayüzü, Studio IDE'ye daha modern ve sade bir görünüm ve tarz katıyor. Şimdiye kadar geri bildirimlerinizi dinledik ve Android Studio Hedgehog'daki aşağıdaki özelliklerle ilgili sorunları giderdik:

  • Kompakt mod
  • Dikey veya yatay bölme desteği
  • macOS için proje sekmeleri
  • Dikkat dağıtıcı olmayan mod için düzeltmeler
  • Araç penceresi işlemlerinin her zaman gösterilmesi için gelişmiş ayarlar

SDK Yükseltme Asistanı güncellemeleri

SDK Yükseltme Asistanı targetSdkVersion yükseltmeleri konusunda size yardımcı olacak adım adım sihirbaz akışı sağlar. Android Studio Hedgehog'daki SDK Yükseltme Asistanı'nda yapılan güncellemeleri aşağıda bulabilirsiniz:

  • Android 14'e yükseltmeyle ilgili önemli değişiklikleri görün
  • Alaka düzeyi filtreleri eklendiğinden bazı gereksiz adımların kaldırılması
  • Belirli değişiklikler için değişikliklerin kodun tam olarak nerede yapılması gerektiğini belirleyin.

Yalnızca hedef API düzeyi için derleme optimizasyonunu devre dışı bırak

Artık hedef cihaz API düzeyi için IDE optimizasyonunu devre dışı bırakabilirsiniz. Varsayılan olarak Android Studio, dexleme işlemini dağıtım yaptığınız hedef cihazın API seviyesine göre uyarlayarak genel derleme süresini kısaltır. Bu özelliği kapatmak için Dosya > Ayarlar > Deneysel'e (macOS'te Android Studio > Ayarlar > Deneysel) gidin ve Derlemeyi yalnızca hedef cihaz API düzeyi için optimize et seçeneğinin işaretini kaldırın. Bu derleme optimizasyonunun devre dışı bırakılmasının, derleme süresini artırabileceğini unutmayın.

[Yalnızca Windows] Virüsten koruma yazılımlarının derleme hızı üzerindeki etkisini en aza indirme

Derleme Analiz Aracı, virüsten koruma yazılımlarının derleme performansınızı etkileyip etkilemediğini size bildirir. Bu sorun, Windows Defender gibi bir virüsten koruma yazılımı Gradle tarafından kullanılan dizinleri gerçek zamanlı olarak tararsa oluşabilir. Build Analiz Aracı, etkin taramadan hariç tutulacak dizinlerin bir listesini önerir ve mümkünse bunları Windows Defender klasör hariç tutma listesine eklemek için bir bağlantı sunar.

Eclipse Android Geliştirme Aracı projeleri artık desteklenmiyor

Android Studio Hedgehog ve sonraki sürümleri Eclipse ADT projelerinin içe aktarılmasını desteklemez. Bu projeleri hâlâ açabilirsiniz ancak bunlar artık Android projesi olarak tanınmıyor. Bu tür bir projeyi içe aktarmanız gerekiyorsa Android Studio'nun önceki bir sürümünü kullanabilirsiniz. Android Studio'nun belirli bir sürümü projenizi içe aktaramıyorsa daha eski bir sürümü deneyebilirsiniz. Proje, Android Studio'nun önceki bir sürümü kullanılarak bir Android projesine dönüştürüldükten sonra, en son Android Studio sürümünü kullanarak bu projede çalışmak için AGP Yükseltme Asistanı'nı kullanabilirsiniz.

Firebase Test Lab cihazlarını Gradle tarafından yönetilen cihazlarla kullanma

AGP 8.2.0-alpha03 veya sonraki bir sürümü kullanırken Gradle tarafından yönetilen cihazları kullanırken otomatik izlemeli testlerinizi Firebase Test Lab cihazlarında geniş ölçekte çalıştırabilirsiniz. Test Lab, testlerinizi hem fiziksel hem de sanal cihazlar olmak üzere çok çeşitli Android cihazlarda aynı anda çalıştırmanızı sağlar. Bu testler, Google'ın uzak veri merkezlerinde yürütülür. Gradle tarafından yönetilen cihazların (GMD) desteğiyle, derleme sistemi artık projenizin Gradle dosyalarındaki yapılandırmalara dayanarak bu Test Lab cihazlarında çalışan testleri tamamen yönetebilir.

Gradle tarafından yönetilen Firebase Test Lab cihazlarını kullanmaya başlayın

Aşağıdaki adımlarda, Firebase Test Lab cihazlarını GMD ile nasıl kullanmaya başlayabileceğiniz açıklanmaktadır. Bu adımların, kullanıcı kimlik bilgilerini sağlamak için gcloud KSA'yı kullandığını ve bu bilgilerin tüm geliştirme ortamları için geçerli olmayabileceğini unutmayın. Gereksinimleriniz için hangi kimlik doğrulama işleminin kullanılacağı hakkında daha fazla bilgi edinmek için Uygulama Varsayılan Kimlik Bilgileri nasıl çalışır? bölümüne bakın.

  1. Firebase projesi oluşturmak için Firebase konsoluna gidin. Proje ekle'yi tıklayın ve proje oluşturmak için ekrandaki talimatları uygulayın. Proje kimliğinizi unutmayın.

  2. Google Cloud KSA'yı yüklemek için gcloud KSA'yı yükleme adımlarını uygulayın.
  3. Yerel ortamınızı yapılandırın.
    1. gcloud'daki Firebase projenize bağlayın:
        gcloud config set project FIREBASE_PROJECT_ID
        
    2. Kullanıcı kimlik bilgilerinizin API erişimi için kullanılmasına izin verin. Modül düzeyindeki derleme komut dosyasında DSL'yi kullanıp Gradle'a hizmet hesabı JSON dosyası ileterek yetkilendirme yapmanızı öneririz:

      Kotlin

        firebaseTestLab {
          ...
          serviceAccountCredentials.set(file(SERVICE_ACCOUNT_JSON_FILE))
        }
        

      Modern

        firebaseTestLab {
          ...
          serviceAccountCredentials = file(SERVICE_ACCOUNT_JSON_FILE)
        }
        

      Alternatif olarak, aşağıdaki terminal komutunu kullanarak manuel olarak yetkilendirebilirsiniz:

        gcloud auth application-default login
        
    3. İsteğe bağlı: Firebase projenizi kota projesi olarak ekleyin. Bu adım yalnızca Test Lab için ücretsiz kotayı aşarsanız gerekir.

        gcloud auth application-default set-quota-project FIREBASE_PROJECT_ID
        
  4. Gerekli API'leri etkinleştirin.

    Google Developers Console API Kitaplığı sayfasında, bu API adlarını konsolun üst kısmındaki arama kutusuna yazıp her API'nin genel bakış sayfasında API'yi Etkinleştir'i tıklayarak Cloud Testing API ve Cloud Tool Results API'yi etkinleştirin.

  5. Android projenizi yapılandırın.

    1. Üst düzey derleme komut dosyasına Firebase Test Lab eklentisini ekleyin:

      Kotlin

        plugins {
          ...
          id("com.google.firebase.testlab") version "0.0.1-alpha05" apply false
        }
        

      Modern

        plugins {
          ...
          id 'com.google.firebase.testlab' version '0.0.1-alpha05' apply false
        }
        
    2. gradle.properties dosyasında özel cihaz türlerini etkinleştir:

        android.experimental.testOptions.managedDevices.customDevice=true
        
    3. Firebase Test Lab eklentisini modül düzeyindeki derleme komut dosyasına ekleyin:

      Kotlin

        plugins {
          ...
          id "com.google.firebase.testlab"
        }
        

      Modern

        plugins {
          ...
          id 'com.google.firebase.testlab'
        }
        

    Gradle tarafından yönetilen Firebase Test Lab cihazında test oluşturma ve çalıştırma

    Modül düzeyindeki derleme komut dosyasında uygulamanızı test etmek için kullanmak üzere, Gradle'a yönelik bir Firebase Test Lab cihazı belirtebilirsiniz. Aşağıdaki kod örneği, Gradle tarafından yönetilen ftlDevice adlı bir Test Lab cihazı olarak API düzeyi 30'u çalıştıran bir Pixel 3 oluşturur. firebaseTestLab {} bloku, com.google.firebase.testlab eklentisini modülünüze uyguladığınızda kullanılabilir. Desteklenen minimum Android Gradle Plugin sürümü 8.2.0-alpha01'dir.

    Kotlin

    firebaseTestLab {
      managedDevices {
        create("ftlDevice") {
          device = "Pixel3"
          apiLevel = 30
        }
      }
      ...
    }
    

    Modern

    firebaseTestLab {
      managedDevices {
        ftlDevice {
          device = "Pixel3"
          apiLevel = 30
        }
      }
      ...
    }
    

    Testlerinizi, Gradle tarafından yönetilen Test Lab cihazlarını yapılandırarak çalıştırmak için aşağıdaki komutu kullanın. device-name, Gradle derleme komut dosyanızda yapılandırdığınız cihazın adıdır (ör. ftlDevice). BuildVariant ise test etmek istediğiniz uygulamanızın derleme varyantıdır. Gradle'ın paralel olarak test çalıştırmadığını veya Test Lab cihazları için diğer Google Cloud KSA yapılandırmalarını desteklemediğini unutmayın.

    Windows'da:

    gradlew device-nameBuildVariantAndroidTest
    

    Linux veya macOS'te:

    ./gradlew device-nameBuildVariantAndroidTest
    

    Test çıkışı, test raporunu içeren bir HTML dosyasının yolunu içerir. Ayrıca, daha ayrıntılı analiz için IDE'de Çalıştır > Test Geçmişi'ni tıklayarak test sonuçlarını Android Studio'ya aktarabilirsiniz.

    Cihaz grubunda test oluşturma ve çalıştırma

    Testinizi ölçeklendirmek için bir cihaz grubuna birden fazla Gradle tarafından yönetilen Firebase Test Lab cihazı ekleyin ve ardından tek bir komutla hepsinde test çalıştırın. Aşağıdaki şekilde ayarlanmış birden fazla cihazınız olduğunu varsayalım:

    firebaseTestLab {
      managedDevices {
        create("GalaxyS23Ultra") { ... }
        create("GalaxyZFlip3") { ... }
        create("GalaxyZFold3") { ... }
        create("GalaxyTabS2") { ... }
      }
    }
    

    Bu cihazları samsungGalaxy adlı bir cihaz grubuna eklemek için groups {} blokunu kullanın:

    firebaseTestLab {
      managedDevices {...}
    }
    
    android {
      ...
      testOptions {
        managedDevices {
          groups {
            create("samsungGalaxy") {
              targetDevices.add(devices["GalaxyS23Ultra"])
              targetDevices.add(devices["GalaxyZFlip3"])
              targetDevices.add(devices["GalaxyZFold3"])
              targetDevices.add(devices["GalaxyTabS3"])
            }
          }
        }
      }
    }
    

    Cihaz grubundaki tüm cihazlarda test çalıştırmak için aşağıdaki komutu kullanın:

    Windows'da:

    gradlew group-nameGroupBuildVariantAndroidTest
    

    Linux veya macOS'te:

    ./gradlew group-nameGroupBuildVariantAndroidTest
    

    Akıllı parçalama ile test çalıştırmalarını optimize edin

    Gradle tarafından yönetilen Test Lab cihazlarında test artık akıllı parçalamayı desteklemektedir. Akıllı parçalama, testlerinizi parçalara otomatik olarak dağıtır. Böylece her parça yaklaşık olarak aynı süre boyunca çalışır. Böylece, manuel ayırma çabalarını ve genel test çalıştırma süresini azaltır. Akıllı parçalama, testleri en uygun şekilde dağıtmak için test geçmişinizi veya testlerinizin daha önce çalıştırılmasının ne kadar sürdüğü hakkındaki bilgileri kullanır. Akıllı parçalamayı kullanmak için Firebase Test Lab için Gradle eklentisinin 0.0.1-alpha05 sürümüne ihtiyacınız olduğunu unutmayın.

    Akıllı parçalamayı etkinleştirmek için her bir parçadaki testlerin süresini belirtin. Testler tamamlanmadan parçaların iptal edilmesini önlemek için hedef parça süresi süresini timeoutMinutes üzerinde en az beş dakika olacak şekilde ayarlamanız gerekir.

    firebaseTestLab {
      ...
      testOptions {
        targetedShardDurationMinutes = 2
      }
    }
    

    Daha fazla bilgi edinmek için yeni DSL seçenekleri hakkında bilgi edinin.

    Gradle tarafından yönetilen Firebase Test Lab cihazları için DSL güncellendi

    Test çalıştırmalarınızı özelleştirmenize veya zaten kullanıyor olabileceğiniz diğer çözümlerden geçiş yapmanıza yardımcı olmak için yapılandırabileceğiniz daha fazla DSL seçeneği vardır. Bu seçeneklerin bazılarını aşağıdaki kod snippet'inde açıklandığı şekilde inceleyin.

    firebaseTestLab {
      ...
    
      /**
       * A path to a JSON file that contains service account credentials to access to
       * a Firebase Test Lab project.
       */
      serviceAccountCredentials.set(file("your_service_account_credentials.json"))
    
    
      testOptions {
        fixture {
          /**
           * Whether to grant permissions on the device before tests begin.
           * Available options are "all" or "none".
           *
           * Default value is "all".
           */
          grantedPermissions = "all"
    
          /**
           * Map of files to push to the device before starting the test.
           *
           * The key is the location on the device.
           * The value is the location of the file, either local or in Google Cloud.
           */
          extraDeviceFiles["/sdcard/dir1/file1.txt"] = "local/file.txt"
          extraDeviceFiles["/sdcard/dir2/file2.txt"] = "gs://bucket/file.jpg"
    
          /**
           * The name of the network traffic profile.
           *
           * Specifies network conditions to emulate when running tests.
           *
           * Default value is empty.
           */
          networkProfile = "LTE"
        }
    
        execution {
          /**
           * The maximum time to run the test execution before cancellation,
           * measured in minutes. Does not include the setup or teardown of device,
           * and is handled server-side.
           *
           * The maximum possible testing time is 45 minutes on physical devices
           * and 60 minutes on virtual devices.
           *
           * Defaults to 15 minutes.
           */
           timeoutMinutes = 30
    
          /**
           * Number of times the test should be rerun if tests fail.
           * The number of times a test execution should be retried if one
           * or more of its test cases fail.
           *
           * The max number of times is 10.
           *
           * The default number of times is 0.
           */
          maxTestReruns = 2
    
          /**
           * Ensures only a single attempt is made for each execution if
           * an infrastructure issue occurs. This doesn't affect `maxTestReruns`.
           * Normally, two or more attempts are made by Firebase Test Lab if a
           * potential infrastructure issue is detected. This is best enabled for
           * latency sensitive workloads. The number of execution failures might be
           * significantly greater with `failFast` enabled.
           *
           * Defaults to false.
           */
          failFast = false
    
          /**
           * The number of shards to split the tests across.
           * 
           * Default to 0 for no sharding.
           */
          numUniformShards = 20
    
          /**
          * For smart sharding, the target length of time each shard should takes in
          * minutes. Maxes out at 50 shards for physical devices and 100 shards for
          * virtual devices.
          *
          * Only one of numUniformShards or targetedShardDurationMinutes can be set.
          *
          * Defaults to 0 for no smart sharding.
          */
          targetedShardDurationMinutes = 15
        }
    
        results {
          /**
           * The name of the Google storage bucket to store the test results in.
           *
           * If left unspecified, the default bucket is used.
           *
           * Please refer to Firebase Test Lab permissions for required permissions
           * for using the bucket.
           */
          cloudStorageBucket = "bucketLocationName"
    
          /**
           * Name of test results for the Firebase console history list.
           * All tests results with the same history name are grouped
           * together in the Firebase console in a time-ordered test history list.
           *
           * Defaults to the application label in the APK manifest in Flank/Fladle.
           */
          resultsHistoryName = "application-history"
    
          /**
           * List of paths to copy from the test device's storage to the test
           * results folder. These must be absolute paths under /sdcard or
           * /data/local/tmp.
           */
          directoriesToPull.addAll(
            "/sdcard/path/to/something"
          )
    
          /**
           * Whether to enable video recording during the test.
           *
           * Disabled by default.
           */
          recordVideo = false
    
          /**
           * Whether to enable performance metrics. If enabled, monitors and records
           * performance metrics such as CPU, memory, and network usage.
           *
           * Defaults to false.
           */
          performanceMetrics = true
        }
      }
    }