Poniżej znajdziesz nowe funkcje w Android Studio Hedgehog.
Aktualizacja platformy IntelliJ IDEA 2023.1
Android Studio Hedgehog zawiera aktualizacje IntelliJ IDEA 2023.1, w Studio IDE. Więcej informacji o tych zmianach znajdziesz w Informacje o wersji IntelliJ IDEA 2023.1
Analizuj Android Vitals w ramach statystyk dotyczących jakości aplikacji
Statystyki jakości aplikacji obejmują teraz do Android Vitals, dzięki czemu masz łatwiejszy dostęp podstawowych danych zbieranych przez Google Play i zwiększania wygody użytkowników. Używaj Android Vitals, aby rozwiązać problemy ze stabilnością aplikacji i poprawić jakość aplikacji w Google Play.
Możesz przeglądać problemy z Android Vitals, filtrować je i przechodzić ze zrzutu stosu do: a wszystko to w oknie narzędzia Statystyki jakości aplikacji. Aby rozpocząć, wykonaj te czynności: wykonaj te czynności:
- Zaloguj się na konto dewelopera w Android Studio, korzystając z ikony profilu na końcu paska narzędzi.
- Otwórz statystyki jakości aplikacji, klikając okno narzędzia w Android Studio lub kliknięcie Widok > Okna narzędziowe > Statystyki dotyczące jakości aplikacji.
- Kliknij kartę Android Vitals w sekcji Statystyki jakości aplikacji.
Różne wartości Android Vitals i Crashlytics
Pamiętaj, że Android Vitals i Crashlytics mogą zgłaszać różne wartości parametru liczbę użytkowników i zdarzeń powiązanych z tą samą awarią. Rozbieżności te Google Play i Crashlytics wykrywają awarie w różnym czasie dla różnych użytkowników. Oto kilka powodów, dla których Google Play i Crashlytics mogą się różnić:
- Play wykrywa awarie w momencie uruchomienia, a Crashlytics – awarii, które mają miejsce po zainicjowaniu pakietu SDK Crashlytics.
- Jeśli użytkownik zrezygnuje z raportowania o awariach po zakupie nowego telefonu, nie są zgłaszane do Google Play; jednak Crashlytics wykrywa awarie na podstawie naszej polityki prywatności.
Nowy zaawansowany program profilujący
Począwszy od Android Studio Hedgehog, program profilujący Power Profiler pokazuje zużycie energii. na urządzeniach mobilnych. Nowe dane możesz wyświetlić w narzędziu On Device Power Rails Monitor (ODPM). ODPM dzieli dane na segmenty według podsystemów zwanych Samociągami. Zobacz Profilowalne szyny energetyczne znajdziesz listę obsługiwanych podsystemów.
Ślad systemu rejestruje i wyświetla dane o zużyciu energii. Jest częścią narzędzia do profilowania procesora. Te dane umożliwiają wizualne skorelowanie mocy korzystania z urządzenia w ramach działań wykonywanych w aplikacji. Program Power Profiler umożliwia wizualizację tych danych.
Aby wyświetlić dane z nowej wersji Power Profiler, wykonaj ślad systemowy na Pixelu 6 lub nowszym urządzenie:
- Wybierz Widok > Okna narzędziowe > Program profilujący.
- Kliknij dowolne miejsce na osi czasu procesora, aby otworzyć program profilujący procesora, i rozpocząć śledzenie systemu.
Asystent połączeń aplikacji
Nowy Asystent linków aplikacji zapewnia kompleksowe omówienie precyzyjnych linków
skonfigurowane w Twojej aplikacji. Asystent wyświetla wszystkie dotychczasowe precyzyjne linki w aplikacji
AndroidManifest.xml
, sprawdza, czy konfiguracja dla tych głębokich
jest poprawny i pozwala szybko
błędów konfiguracji.
Aby otworzyć Asystenta linków aplikacji, kliknij Narzędzia > Asystent połączeń aplikacji w Android Studio. Więcej informacji o linkach do aplikacji: Dodaj linki aplikacji na Androida.
Zaktualizowaliśmy skrót do trybu ręcznego edycji na żywo
Edytowanie na żywo w Androidzie Studio Hedgehog zawiera nowy skrót do trybu ręcznego (Push Manual): Control + \ (Command + \ w systemie macOS). Tryb ręczny jest przydatny gdy chcesz mieć dokładną kontrolę nad tym, kiedy aktualizacje są wdrożone w uruchomionej aplikacji. Jeśli na przykład tworzysz kampanię na dużą skalę w pliku i nie chcesz, aby stan pośredni był odzwierciedlany w urządzenia. Możesz wybrać opcję Przekaż ręcznie lub Przekaż ręcznie podczas zapisywania w ustawieniach edytowania na żywo lub używając wskaźnika interfejsu Edytuj na żywo. Więcej więcej informacji, obejrzyj klip wideo w edycji na żywo w Jetpack Utwórz.
Utwórz szablony wielu podglądów
androidx.compose.ui:ui-tooling-preview
W wersji 1.6.0-alpha01 lub nowszej
Interfejs Multipreview API
szablony: @PreviewScreenSizes
, @PreviewFontScales
, @PreviewLightDark
,
i @PreviewDynamicColors
, dzięki czemu jedna adnotacja
w typowych scenariuszach wyświetlania podglądu interfejsu tworzenia wiadomości.
Tryb galerii podglądu tworzenia wiadomości
W Android Studio Hedgehog wprowadziliśmy nowy tryb galerii Podgląd tworzenia, który pozwala skupić się na jednym podglądzie naraz, i zmniejsz ilość zasobów podczas renderowania. Zalecamy korzystanie z trybu galerii gdy trzeba iterować interfejs aplikacji i przełączać się na inne tryby, np. siatka lub lista, gdy chcesz zobaczyć warianty interfejsu.
Informacje o stanie tworzenia w debugerze
Gdy elementy interfejsu tworzenia wiadomości nieoczekiwanie się zmieniają, czasami trudno jest aby zrozumieć, dlaczego. Teraz podczas ustawiania punktu przerwania dla funkcji kompozycyjnej debugger zawiera listę parametrów funkcji kompozycyjnej oraz ich parametru tak aby można było łatwiej zidentyfikować zmiany, zmianę kompozycji. Jeśli na przykład wstrzymasz działanie kompozycyjne, debuger może wskazują, które parametry uległy zmianie; lub pozostały „Niezmienione”, co pozwoli na skuteczniejsze zbadanie przyczyny zmiany kompozycji.
Tworzenie odbicia lustrzanego urządzenia
Teraz możesz tworzyć odbicie lustrzane urządzenia fizycznego w oknie Uruchomione urządzenia w Android Studio. Przesyłając obraz z urządzenia bezpośrednio do Android Studio, możesz wykonywać typowe czynności, takie jak uruchamianie aplikacji i wchodzenie z nimi w interakcję, obracanie ekranu, składanie i rozkładanie telefonu, regulacja głośności bezpośrednio w środowisku IDE Studio.
Powielanie ekranu jest zawsze dostępne, gdy są połączone urządzenia z komputerem z włączonym debugowaniem USB lub bezprzewodowym. Możesz uruchomić i zatrzymać odtwarzanie utworzyć odbicie lustrzane za pomocą okna Uruchomione urządzenia lub Menedżer urządzeń (Widok > Okna narzędziowe > Menedżer urządzeń). Możesz też dostosuj w ustawieniach, kiedy ma być włączone odbicie lustrzane urządzenia (Ustawienia > Narzędzia > Dublowanie urządzenia).
Znane problemy
Niektóre urządzenia mogą nie być w stanie kodować z szybkością transmisji bitów wystarczającą do obsługi powielanie urządzenia. W takim przypadku w kolumnie Uruchomione może pojawić się błąd Urządzenia, a także dzienniki podobne do przedstawionych poniżej.
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
Informacje na temat ochrony prywatności
W zależności od ustawień odbicia lustrzanego urządzenia Android Studio może uruchomić się automatycznie
powielanie urządzeń na dowolnym połączonym i sparowanym urządzeniu. Może to spowodować
informacje dotyczące urządzeń połączonych z poleceniem adb tcpip
ponieważ powielane informacje i polecenia są przekazywane do niezaszyfrowanego
kanał. Dodatkowo Android Studio używa do komunikacji niezaszyfrowanego kanału
z serwerem adb, więc informacje powielane mogą być przechwytywane przez innych użytkowników.
na hoście.
Przekierowanie wejścia sprzętowego
Możesz teraz włączyć przezroczyste przekierowanie wejść sprzętowych stacji roboczej, takiego jak mysz i klawiatura, do podłączonego urządzenia fizycznego i wirtualnego. Do włącz przezroczyste przekazywanie dalej, kliknij Wprowadzanie sprzętowe. dla urządzenia docelowego w oknie Uruchomione urządzenia.
Zarządzanie urządzeniami bezpośrednio w oknie Uruchomione urządzenia
Teraz możesz uruchomić urządzenie wirtualne z Androidem (AVD) lub utworzyć kopię
na urządzeniu fizycznym, bezpośrednio w oknie Uruchomione urządzenia, klikając
Ikona aplikacji +
i wybieram urządzenie. Aby zatrzymać AVD lub tworzenie odbicia lustrzanego danych
zamknij kartę urządzenia.
Inspektor układu umieszczonego
Począwszy od Android Studio Hedgehog Canary 2, można Inspektora układu bezpośrednio w Okno narzędzia Uruchomione urządzenia. Ta eksperymentalna funkcja oszczędza zawartość ekranu i ułatwia organizację procesu debugowania interfejsu użytkownika w jednym oknie narzędzia. W w trybie osadzonym możesz wyświetlić hierarchię widoków, zbadać właściwości każdego i korzystać z innych popularnych funkcji Inspektora układu. Aby uzyskać dostęp do pełnego zestawu musisz jeszcze uruchomić Inspektora układu w osobnym oknie, (Plik > Ustawienia > Eksperymentalne > Inspektor układu w systemie Windows lub Android Studio > Ustawienia > Eksperymentalne > Layout Inspector w systemie macOS).
Ograniczeniem umieszczonego Inspektora układu jest to, Tryb 3D jest dostępny tylko w migawki.
Aby pomóc nam w ulepszaniu umieszczonego Inspektora układu, wyślij nam wiadomość opinii.
Nowe ulepszenia interfejsu
nowy interfejs w Android Studio zapewnia bardziej nowoczesny, bardziej przejrzysty wygląd i styl do Studio. IDE. Wysłuchaliśmy Waszych opinii i rozwiązaliśmy problemy związane z te funkcje w Android Studio Hedgehog:
- Tryb kompaktowy
- Możliwość podziału w pionie lub poziomie
- Karty projektów w systemie macOS
- Poprawki w trybie bez rozpraszania uwagi
- Ustawienia zaawansowane pozwalające zawsze pokazywać działania w oknie narzędzia
Aktualizacje Asystenta uaktualniania SDK
Asystent aktualizacji pakietu SDK umożliwia
za pomocą kreatora krok po kroku, który pomoże Ci
targetSdkVersion
.
uaktualnienia. Oto zmiany w Asystencie uaktualniania SDK w Android Studio
Jeż:
- Sprawdzanie zmian powodujących niezgodność w przypadku przejścia na Androida 14
- Dodaliśmy filtry trafności, eliminując część zbędnych kroków
- W przypadku niektórych zmian musisz dokładnie określić, w którym miejscu w kodzie chcesz je wprowadzić. wyprodukowano
Wyłącz optymalizację kompilacji tylko na docelowym poziomie interfejsu API
Możesz teraz wyłączyć optymalizację IDE na docelowym poziomie interfejsu API urządzenia. Według domyślnie, Android Studio skraca ogólny czas kompilacji, dostosowując dla poziomu interfejsu API urządzenia docelowego, na którym przeprowadzasz wdrożenie. Aby włączyć to ustawienie wyłączone, przejdź do menu Plik > Ustawienia > Wersja eksperymentalna (Android Studio > Ustawienia > funkcja eksperymentalna w systemie macOS) i odznacz opcję Optymalizuj kompilację pod kątem wartości docelowej tylko na poziomie interfejsu API urządzenia. Pamiętaj, że wyłączenie tej optymalizacji kompilacji może wydłużać czas kompilacji.
[Tylko Windows] Minimalizuj wpływ oprogramowania antywirusowego na szybkość kompilacji.
Analizator kompilacji informuje, czy na kompilację może wpływać oprogramowanie antywirusowe. skuteczność reklam. Może się tak zdarzyć, jeśli oprogramowanie antywirusowe, takie jak Windows Defender, skanuje w czasie rzeczywistym katalogi używane przez Gradle. Analizator kompilacji zaleca listę katalogów do wykluczenia z aktywnego skanowania, a także jeśli to możliwe, zawiera link umożliwiający dodanie ich do programu Windows Defender. listę wykluczeń folderów.
Projekty z narzędzia Eclipse Android Development Tool nie są już obsługiwane
Android Studio Hedgehog i nowsze wersje nie obsługują importowania Eclipse ADT w projektach AI. Nadal możesz otwierać te projekty, ale już ich nie możesz które są rozpoznawane jako projekty na Androida. Jeśli chcesz zaimportować ten typ projektu możesz użyć wcześniejszej wersji Android Studio. Jeśli dana wersja Androida Studio nie może zaimportować projektu. Spróbuj użyć równomiernej starszej wersji. Po przekonwertowaniu projektu na projekt na Androida za pomocą starszej wersji Android Studio, możesz korzystać z Asystenta uaktualnienia AGP, w tym projekcie, używając najnowszej wersji Android Studio.
Używanie urządzeń z Laboratorium Firebase na urządzeniach zarządzanych przez Gradle
Jeśli używasz AGP w wersji 8.2.0-alfa03 lub nowszej, możesz używać testów na dużą skalę na urządzeniach Laboratorium Firebase, gdy: korzysta z urządzeń zarządzanych przez Gradle. Laboratorium umożliwia jednoczesne przeprowadzanie testów na wielu różnych urządzeniach z Androidem – zarówno fizyczne i wirtualne. Te testy są przeprowadzane w odległych centrach danych Google. Na obsługa urządzeń zarządzanych przez Gradle (GMD) sprawia, że system kompilacji może teraz w pełni zarządzać na tych urządzeniach z Laboratorium w oparciu o konfiguracje plików Gradle projektu.
Pierwsze kroki z urządzeniami z Laboratorium Firebase zarządzanym przez Gradle
Poniższe kroki opisują, jak zacząć korzystać z urządzeń z Laboratorium Firebase z GMD. Pamiętaj, że te kroki służą do podawania danych logowania użytkownika za pomocą interfejsu wiersza poleceń gcloud, który może nie dotyczyć wszystkich środowisk programistycznych. Więcej informacji na temat tego, uwierzytelniania, którego możesz używać, zapoznaj się z Jak działają domyślne dane logowania aplikacji.
Aby utworzyć projekt Firebase, otwórz Konsola Firebase. Kliknij Dodaj projekt i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby utworzyć projekt. Zapamiętaj identyfikator projektu.
- Aby zainstalować interfejs wiersza poleceń Google Cloud, wykonaj czynności opisane na stronie Zainstaluj interfejs wiersza poleceń gcloud.
- Skonfiguruj środowisko lokalne.
- Połącz z projektem Firebase w gcloud:
gcloud config set project FIREBASE_PROJECT_ID
Autoryzuj użycie danych logowania użytkownika w celu uzyskiwania dostępu do interfejsu API. Zalecamy autoryzując, przekazując pliku JSON konta usługi do Gradle za pomocą DSL w skrypcie kompilacji na poziomie modułu:
Kotlin
firebaseTestLab { ... serviceAccountCredentials.set(file(SERVICE_ACCOUNT_JSON_FILE)) }
Odlotowe
firebaseTestLab { ... serviceAccountCredentials = file(SERVICE_ACCOUNT_JSON_FILE) }
Możesz też autoryzować ręcznie, używając poniższego terminala polecenie:
gcloud auth application-default login
Opcjonalnie: dodaj projekt Firebase jako projekt z limitami. Ten krok jest jest wymagane tylko wtedy, gdy przekroczysz bezpłatny limit w Laboratorium.
gcloud auth application-default set-quota-project FIREBASE_PROJECT_ID
- Połącz z projektem Firebase w gcloud:
Włącz wymagane interfejsy API.
W stronę z biblioteką interfejsów API w Google Developers Console, włącz Cloud Testing API oraz Cloud Tool Score API wpisując te nazwy interfejsów API w polu wyszukiwania u góry konsoli, a następnie kliknij Włącz API na stronie przeglądu każdego interfejsu API.
Skonfiguruj projekt na Androida.
Dodaj wtyczkę Laboratorium Firebase do skryptu kompilacji najwyższego poziomu:
Kotlin
plugins { ... id("com.google.firebase.testlab") version "0.0.1-alpha05" apply false }
Odlotowe
plugins { ... id 'com.google.firebase.testlab' version '0.0.1-alpha05' apply false }
Włącz niestandardowe typy urządzeń w pliku
gradle.properties
:android.experimental.testOptions.managedDevices.customDevice=true
Dodaj wtyczkę Laboratorium Firebase do skryptu kompilacji na poziomie modułu:
Kotlin
plugins { ... id "com.google.firebase.testlab" }
Odlotowe
plugins { ... id 'com.google.firebase.testlab' }
Tworzenie i przeprowadzanie testów na urządzeniu z Laboratorium Firebase zarządzanym przez Gradle
Możesz wskazać urządzenie z Laboratorium Firebase dla Gradle, aby wykorzystać je do testowania w skrypcie kompilacji na poziomie modułu. Następujący przykładowy kod tworzy Pixel 3 z interfejsem API poziomu 30 jako urządzenie testowe zarządzane przez Gradle
ftlDevice
BlokfirebaseTestLab {}
jest dostępny po zastosowaniucom.google.firebase.testlab
. Minimalna obsługiwana liczba Wersja wtyczki Androida do obsługi Gradle to 8.2.0-alfa01.Kotlin
firebaseTestLab { managedDevices { create("ftlDevice") { device = "Pixel3" apiLevel = 30 } } ... }
Odlotowe
firebaseTestLab { managedDevices { ftlDevice { device = "Pixel3" apiLevel = 30 } } ... }
Aby przeprowadzić testy na skonfigurowanych przez siebie urządzeniach z laboratorium testowym zarządzanym przez Gradle, użyj to polecenie.
device-name
to nazwa urządzenia skonfigurowanego przez Ciebie skrypt kompilacji Gradle, taki jakftlDevice
, aBuildVariant
to wersji aplikacji, którą chcesz przetestować. Pamiętaj, że Gradle nie uruchamia testów w równolegle lub obsługują inne konfiguracje interfejsu wiersza poleceń Google Cloud dla urządzeń Test Lab.Windows:
gradlew device-nameBuildVariantAndroidTest
W systemie Linux lub macOS:
./gradlew device-nameBuildVariantAndroidTest
Dane wyjściowe testu zawierają ścieżkę do pliku HTML, który zawiera raport z testu. Ty mogą też zaimportować wyniki testów do Android Studio, aby dokładniej przeanalizować klikając Uruchom > Historia testów w IDE.
Tworzenie i przeprowadzanie testów w grupie urządzeń
Aby móc skalować testy, dodaj wiele urządzeń Laboratorium Firebase zarządzanych przez Gradle do grupę urządzeń, a następnie przeprowadzić na nich testy za pomocą jednego polecenia. Powiedz mieć kilka urządzeń skonfigurowanych w ten sposób:
firebaseTestLab { managedDevices { create("GalaxyS23Ultra") { ... } create("GalaxyZFlip3") { ... } create("GalaxyZFold3") { ... } create("GalaxyTabS2") { ... } } }
Aby dodać je do grupy urządzeń
samsungGalaxy
, użyj blokugroups {}
:firebaseTestLab { managedDevices {...} } android { ... testOptions { managedDevices { groups { create("samsungGalaxy") { targetDevices.add(devices["GalaxyS23Ultra"]) targetDevices.add(devices["GalaxyZFlip3"]) targetDevices.add(devices["GalaxyZFold3"]) targetDevices.add(devices["GalaxyTabS3"]) } } } } }
Aby uruchomić testy na wszystkich urządzeniach w grupie urządzeń, użyj tego polecenia:
Windows:
gradlew group-nameGroupBuildVariantAndroidTest
W systemie Linux lub macOS:
./gradlew group-nameGroupBuildVariantAndroidTest
Optymalizuj uruchomienia testowe dzięki inteligentnemu fragmentacji
Testowanie na urządzeniach z laboratorium testowym zarządzanym przez Gradle obsługuje teraz inteligentne fragmenty. Inteligentny fragmentacja automatycznie rozdziela testy na fragmenty, tak aby każdy z nich trwa mniej więcej ten sam czas, co ogranicza ręczne zarządzanie i ogólny czas trwania testu. Inteligentne fragmentowanie korzysta z Twojej historii testów lub informacji ile czasu wcześniej zajmowały testy, i rozpowszechniać je w w optymalny sposób. Pamiętaj, że potrzebujesz wersji 0.0.1-alfa05 wtyczki do Gradle dla Laboratorium Firebase, aby korzystać z inteligentnego fragmentacji.
Aby włączyć inteligentne fragmentowanie, określ ilość czasu na testy w każdym fragmencie co powinien zrobić. Ustaw czas trwania fragmentu na co najmniej 5 min mniej niż
timeoutMinutes
, aby uniknąć sytuacji, w której fragmenty są anulowano przed zakończeniem testów.firebaseTestLab { ... testOptions { targetedShardDurationMinutes = 2 } }
Więcej informacji znajdziesz w artykule o nowych opcjach DSL.
Aktualizacja DSL dla urządzeń Laboratorium Firebase zarządzanych przez Gradle
Istnieje więcej opcji DSL, które możesz skonfigurować, aby dostosować uruchomienia testowe lub przeprowadzić migrację z innych rozwiązań, których być może już używasz. Zobacz niektóre z tych opcji jak opisano w tym fragmencie kodu.
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 } } }