Kompilator Compose
androidx.compose
(W przypadku wszystkich pakietów compose zapoznaj się z dokumentacją interfejsu API)
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
7 sierpnia 2024 r. | 1.5.15 | - | - | - |
Struktura
Składnik jest kombinacją 7 identyfikatorów grupy Maven w ramach androidx
. Każda grupa zawiera określony podzbiór funkcji, z którym wiąże się własny zestaw informacji o wydańach.
Ta tabela zawiera informacje o grupach i linki do poszczególnych zestawów informacji o wersji.
Grupa | Opis |
---|---|
compose.animation | tworzyć animacje w aplikacjach Jetpack Compose, aby wzbogacać wrażenia użytkowników. |
compose.compiler | Przekształcaj funkcje @Composable i włącz optymalizacje za pomocą wtyczki kompilatora Kotlin. |
compose.foundation | Pisać aplikacje Jetpack Compose za pomocą gotowych elementów składowych i rozwijać podstawy, aby tworzyć własne elementy systemu projektowania. |
compose.material | Tworzenie interfejsów Jetpack Compose za pomocą gotowych komponentów Material Design. Jest to punkt wejścia na wyższym poziomie w Compose, który ma na celu udostępnianie komponentów odpowiadających komponentom opisanym na stronie www.material.io. |
compose.material3 | Twórz interfejsy Jetpack Compose za pomocą komponentów Material Design 3, czyli kolejnej generacji Material Design. Material 3 obejmuje zaktualizowane motywy i elementy oraz funkcje personalizacji Material You, takie jak dynamiczne kolory. Jest on spójny z nowym stylem wizualnym Androida 12 i interfejsem systemu. |
compose.runtime | Podstawowe elementy modelu programowania i zarządzania stanem w Compose oraz środowisko uruchomieniowe główne dla wtyczki kompilatora Compose, na które ma być nakierowany. |
compose.ui | Podstawowe elementy interfejsu tworzenia wiadomości, które są potrzebne do interakcji z urządzeniem, w tym układ, rysowanie i wprowadzanie danych. |
Deklarowanie zależności
Aby dodać zależność od Compose, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Maven firmy Google.
Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle
aplikacji lub modułu:
Odlotowe
android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "19" } }
Kotlin
android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "19" } }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.5
Wersja 1.5.15
7 sierpnia 2024 r.
androidx.compose.compiler:compiler:1.5.15
i androidx.compose.compiler:compiler-hosted:1.5.15
są dostępne. Wersja 1.5.15 zawiera te komitowane zmiany.
- Ta wersja kompilatora jest przeznaczona dla Kotlina 1.9.25.
Wersja 1.5.14
14 maja 2024 r.
androidx.compose.compiler:compiler:1.5.14
i androidx.compose.compiler:compiler-hosted:1.5.14
są dostępne. Wersja 1.5.14 zawiera te komity.
Ta wersja kompilatora jest przeznaczona dla Kotlina 1.9.24.
Poprawki błędów
- Upewnij się, że wbudowany tekst jest realizowany, gdy informacje o źródle są wyłączone (Idddb8).
Wersja 1.5.13
1 maja 2024 r.
androidx.compose.compiler:compiler:1.5.13
i androidx.compose.compiler:compiler-hosted:1.5.13
są dostępne. Wersja 1.5.13 zawiera te komity.
Nowe funkcje
- Funkcja pomijania dużej ilości reklam nie jest już uważana za eksperymentalną i może być bezpiecznie używana w wersji produkcyjnej. W kolejnej wersji stanie się to domyślnym zachowaniem. (I6c8c4)
Poprawki błędów
- Poprawić zgodność binarną funkcji
@Composable
z parametrami klasy wartości, które mają wartość domyślną i owijają wartość niepierwotną. (I89465 - Wprowadzono poprawki dla kompilacji JS i kompilacji natywnych z Compose na wiele platform. Szczegółowe informacje znajdziesz w zakresie zatwierdzeń powyżej.
Wersja 1.5.12
17 kwietnia 2024 r.
androidx.compose.compiler:compiler:1.5.12
i androidx.compose.compiler:compiler-hosted:1.5.12
są dostępne. Wersja 1.5.12 zawiera te komity.
Poprawki błędów
- Rozwiązano problem z kompilacją przyrostową w Kotlin 1.9.23. (Ifca55)
- Popraw typy niepustych w parametrach wartości dla nieprostych wbudowanych klas. (Ie6bb5)
Wersja 1.5.11
20 marca 2024 r.
androidx.compose.compiler:compiler:1.5.11
i androidx.compose.compiler:compiler-hosted:1.5.11
są dostępne. Wersja 1.5.11 zawiera te komitowane zmiany.
Notes
Począwszy od tej wersji kompilator będzie wywoływać metodę
startReplaceGroup
zamiaststartReplacableGroup
, gdy moduł zostanie skompilowany z czasem wykonywania zawierającym tę metodę.startReplaceGroup
został wprowadzony w środowisku wykonawczym w Środowisku wykonawczym usługi Compose1.7.0-alpha03
. Wywołania funkcjistartRestartGroup
są generowane tylko wtedy, gdy kierujesz reklamy na środowisko wykonawcze w wersji 1.7.0-alpha03 lub nowszej.Wywoływanie funkcji
startReplaceGroup
zamiaststartReplaceableGroup
pozwala środowisku uruchomieniowemu na skuteczniejsze wykrywanie zmian, ale może wpływać na kolejność, w jakiej zmiany są wykrywane przez funkcjęComposer
i wysyłane do funkcjiApplier
. Może to spowodować subtelne zmiany w zachowaniu, jeśliApplier
zależy od kolejności wykrywania tych operacji.
Nowe funkcje
- Obsługa Kotlina 1.9.23
Poprawki błędów
- Poprawianie problemu z zagnieżżonymi zewnętrznymi typami ogólnymi, które są uznawane za niestabilne. (I3437f, b/327643787)
- Obsługa wielu plików konfiguracji stabilności. (I8db14, b/325326744)
- Kompilator Compose poprawnie przekształca zastąpione funkcje, rekurencyjnie przechodząc przez podstawowe klasy/zastąpienia. (I2c9f9, b/316196500)
- Upewnij się, że zapamiętywanie odwołań do funkcji nie próbuje uchwycić ukrytych rodziców deklaracji lokalnych, gdy nie są one używane bezpośrednio. (Ib1267)
- Naprawiliśmy problem z generowaniem kodu w przypadku kompozytowanych funkcji lambda w ramach linii kodu (trudno napotkać ten błąd bez włączonej opcji „nonSkippingGroupOptimization”). (Icb2fd, b/325502738)
Wersja 1.5.10
21 lutego 2024 r.
androidx.compose.compiler:compiler:1.5.10
i androidx.compose.compiler:compiler-hosted:1.5.10
są dostępne. Wersja 1.5.10 zawiera te commity.
Poprawki błędów
- Obsługa literali w blokach init. (b/320397488)
- Użyj parametru dispatcher, aby sprawdzić, czy funkcja znajduje się w klasie lokalnej (b/323123439).
Wersja 1.5.9
7 lutego 2024 r.
androidx.compose.compiler:compiler:1.5.9
i androidx.compose.compiler:compiler-hosted:1.5.9
są dostępne. Wersja 1.5.9 zawiera te zatwierdzenia.
Poprawki błędów
- Popraw wywołania kompozytowe w inicjalizowanym obiekcie anonimowym. (b/320261458, 96315c)
- Uwzględniaj rekurencyjne deklaracje lokalne jako chwyty. (b/318745941, e7b4b0)
- Naprawić zachowanie zmian dotyczących pamiętania wewnętrznego związane z odwołaniami do metody Java, wymuszając .changed dla typów funkcji z pamięcią wewnętrzną. (b/319810819, 77128e)
- Dodano eksperymentalną optymalizację, która usunie grupy wokół funkcji, które nie są pomijalne, takich jak funkcje wyraźnie oznaczone jako
@NonSkippableComposable
, oraz funkcje, które są niejawnie nie pomijalne, takie jak funkcje wbudowane i funkcje, które zwracają wartość inną niż Unit, takie jakremember
. - Można ją włączyć, przekazując opcję wtyczki
-P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true
do kompilatora Kotlin. (I1688f)
Wersja 1.5.8
10 stycznia 2024 r.
androidx.compose.compiler:compiler:1.5.8
i androidx.compose.compiler:compiler-hosted:1.5.8
są dostępne. Wersja 1.5.8 zawiera te zatwierdzenia.
Nowe funkcje
- Obsługa Kotlina 1.9.22
Poprawki błędów
- Naprawiono błąd, który powodował wyrzucanie wyjątków podczas kompilowania kompilatora Compose przy użyciu Java21. Ten błąd nie dotyczył użytkowników, którzy korzystają z kompilatora Compose z Google Maven (czyli nie kompilują go samodzielnie). (b/316644294)
- Naprawiono błąd, który powodował zgłaszanie błędu
COMPOSABLE_EXPECTED
w przypadku niektórych wywołujących niewbudowanych funkcji lambda. (b/309364913) - Dodawanie błędu kompilacji w przypadku domyślnych parametrów w otwartych funkcjach (wcześniej było to ograniczone tylko do funkcji abstrakcyjnych). Obecnie kompozytor nie obsługuje zastępowania domyślnych parametrów w zastąpionych funkcjach, a zastępowanie funkcji kompozytowanej za pomocą domyślnych parametrów powodowało błąd w czasie wykonywania. Aby ją pominąć, użyj instrukcji
@Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE")
, ale pamiętaj, że zastąpienie takiej funkcji bez podania wartości domyślnej parametru spowoduje awarię w czasie wykonywania (b/317490247). - Naprawiono błąd w pamięci wewnętrznej, który uniemożliwiał prawidłowe rozprzestrzenianie się wartości. (b/316327367)
Darowizna zewnętrzna
- Poprawiono literówkę w dokumentacji. (aosp/288106)
Wersja 1.5.7
19 grudnia 2023 r.
androidx.compose.compiler:compiler:1.5.7
i androidx.compose.compiler:compiler-hosted:1.5.7
są dostępne. Wersja 1.5.7 zawiera te commity.
Poprawki błędów
- Naprawiono błąd powodujący awarię podczas działania kompozytora, gdy parametr klucza
remember()
wywołuje funkcję typu Composable (b/315855015). - Usunięto awarię podczas działania Compose, która występowała podczas używania funkcji
return@
. (b/315821171) - Unikaj ścieżek bezwzględnych w kluczach zapamiętania, co pozwala lepiej wykorzystać pamięć podręczną. (b/313937484)
Wersja 1.5.6
6 grudnia 2023 r.
androidx.compose.compiler:compiler:1.5.6
i androidx.compose.compiler:compiler-hosted:1.5.6
są dostępne. Wersja 1.5.6 zawiera te zatwierdzenia.
Nowe funkcje
- Obsługa Kotlina 1.9.21
Poprawki błędów
- Włączanie pamiętania informacji wewnętrznych – przekształcenie kompilatora, które wstawia pamiętanie w ramach wtyczki kompilatora w Compose i zastępuje porównania
.equals
porównaniami typu int z metadanymi parametrów w przypadku stabilnych parametrów. W efekcie podczas wykonywania kodu jest wykorzystywana mniejsza liczba slotów i wykonywanych jest mniej porównań. Opcję można wyłączyć, podając argument wtyczki kompilatora: -Pplugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false
. (If675f) - Naprawiono problem z memorowaniem zaadaptowanych odwołań do funkcji i argumentów wbudowanych. (b/312738720)
- Realizacja grup podczas zamykania wywołania funkcji w nawiasach klamrowych (b/312242547)
Darowizna zewnętrzna
- Naprawić błąd czasu wykonywania w k/native i k/wasm spowodowany brakiem instrukcji return w funkcjach kompozytowych, gdy jest to ostatnia instrukcja i zwraca wartość null const (aosp/2835716)
Wersja 1.5.5
29 listopada 2023 r.
androidx.compose.compiler:compiler:1.5.5
i androidx.compose.compiler:compiler-hosted:1.5.5
są dostępne. Wersja 1.5.5 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązano problem z zawieszaniem się podczas wyszukiwania zastąpionych typów kompozytowych (Ib6d2c, b/297665426)
- Dodaj
stabilityConfigurationPath
do znanych parametrów (poprzednio błąd uniemożliwiał używanie flagi pliku konfiguracyjnego). (b/309765121) - Poprawki dotyczące pamięci podręcznej (I081d1, I4d7bf)
- Poprawka dotycząca rekompozycji polegająca na uwzględnieniu stanu niepewnego parametru w pamięci wewnętrznej (b/263402091)
- Popraw informacje o linii debugowania w przypadku funkcji zapamiętania informacji (Ic8cf5)
- Naprawiono błąd powodujący awarię (nie udało się obniżyć IR) podczas sprawdzania zastąpionych typów kompozytowych w czasie kompilacji (b/297665426).
- Dodaj
Darowizna zewnętrzna
- Zapisywanie w pamięci podręcznej stabilnych odwołań do funkcji z argumentami (I4d7bf, b/302680514)
Wersja 1.5.4
7 listopada 2023 r.
androidx.compose.compiler:compiler:1.5.4
i androidx.compose.compiler:compiler-hosted:1.5.4
są dostępne. Wersja 1.5.4 zawiera te zatwierdzenia.
Aktualizacje zależności
- Kompilator Compose jest teraz zgodny z Kotlinem 1.9.20
Nowe funkcje
- Dodaliśmy opcję eksperymentalną umożliwiającą włączenie trybu mocnego pomijania. Tryb pomijania z wysoką czułości pozwala pomijać komponenty z niestabilnymi parametrami. Dodatkowo funkcje lambda z niestabilnymi przechwyceniami są zapamiętywane. Ta funkcja jest eksperymentalna i nie jest gotowa do użytku produkcyjnego. (22421e)
- Dodaj flagę, aby włączyć lub wyłączyć informacje o źródle/trasowaniu. (4d45f09)
- Zezwalanie na konfigurowanie stabilności klas zewnętrznych za pomocą pliku konfiguracyjnego. (If40eb)
Poprawki błędów
- Poprawka dotycząca przedwczesnego zakończenia funkcji składanych, gdy nie są zbierane informacje o źródle. (fe6267)
- Napraw ciągłość z funkcji składanych. (948362)
- Naprawiono rozwiązanie, gdy funkcje składane są wywoływane z poziomu wywołania funkcji, które ma wiele przeciążeń zależnych od typu zwracanego przez wyrażenie. (2d36d0)
- Naprawiono problem z zapamiętywaniem, gdy odwołanie do funkcji nie ma odbiornika rozsyłania. (fc2326)
- Naprawiono sprawdzanie nieczystości, które w niektórych sytuacjach uniemożliwiało ponowne skompilowanie funkcji lambda. (db3699)
- Poprawiliśmy stabilność podczas kompilacji przyrostowej w różnych modułach. (7d3e127)
- Ogranicz zakres
@DontMemoize
tylko do wyrażeń lambda. (7a7fa52) - Naprawiono problem z nieprawidłowym przechwyceniem zmiennych podczas korzystania z interfejsu Composable fun jako funkcji lambda. (5ae3556)
Darowizna zewnętrzna
- Używanie symbolu równości strukturalnej do porównywania wartości liczbowych i wartości null (c612a0)
Wersja 1.5.3
29 sierpnia 2023 r.
Funkcje androidx.compose.compiler:compiler:1.5.3
, androidx.compose.compiler:compiler-daemon:1.5.3
i androidx.compose.compiler:compiler-hosted:1.5.3
są dostępne. Wersja 1.5.3 zawiera te zatwierdzenia.
Aktualizacja zależności
- Wersja Kotlina została zaktualizowana do 1.9.10
Wersja 1.5.2
23 sierpnia 2023 r.
Funkcje androidx.compose.compiler:compiler:1.5.2
, androidx.compose.compiler:compiler-daemon:1.5.2
i androidx.compose.compiler:compiler-hosted:1.5.2
są dostępne. Wersja 1.5.2 zawiera te zatwierdzenia.
Poprawki błędów
- Wstawianie numerów wierszy w przypadku instrukcji return w funkcjach składanych zwracających stałą wartość. (I42d89)
- Rozwiązanie problemu z wyciekiem pamięci spowodowanego przejściem na nowy punkt wejścia w dodatku kompilatora. (4f0a101)
- Zatrzymanie przekształcania nieskładalnych interfejsów funkcji w kompilatorze Compose. Dzięki temu interfejsy funkcji są obsługiwane tak samo jak funkcje lambda, w tym reguły zapamiętywania. (28b3ce9)
- Użyj typu argumentu vararg do wnioskowania o stabilności w miejscu wywołania. (bc83645)
Wersja 1.5.1
26 lipca 2023 r.
Funkcje androidx.compose.compiler:compiler:1.5.1
, androidx.compose.compiler:compiler-daemon:1.5.1
i androidx.compose.compiler:compiler-hosted:1.5.1
są dostępne. Wersja 1.5.1 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono znaczniki zdarzeń funkcji
@ReadOnlyComposable
w kompozycji z wczesnymi zwracanymi wartościami, które powodowały uszkodzenie ścieżki.
Wersja 1.5.0
18 lipca 2023 r.
Funkcje androidx.compose.compiler:compiler:1.5.0
, androidx.compose.compiler:compiler-daemon:1.5.0
i androidx.compose.compiler:compiler-hosted:1.5.0
są dostępne. Wersja 1.5.0 zawiera te commity.
Eksperymentalna obsługa K2
- Kompilator Compose w wersji 1.5.0 zapewnia eksperymentalną obsługę kompilatora K2. Niektóre funkcje usługi Compose nie są jeszcze obsługiwane przez K2, ale pojawią się w kolejnych wersjach tego kompilatora.
Ważne zmiany od wersji 1.4.0
- Wersja Kotlina została zaktualizowana do 1.9.0.
- Argumenty nazwane w przypadku wywołań funkcji lambda
@Composable
zostały wycofane. Ta funkcja korzysta z wewnętrznych interfejsów API kompilatora i nie będzie obsługiwana przez K2. - Dodano diagnostykę, aby sprawdzić adnotację
@Composable
w przypadku oczekiwanych i rzeczywistych połączeń. Obie deklaracje powinny mieć pasujące adnotacje.
Wersja 1.4.8
Wersja 1.4.8
28 czerwca 2023 r.
Funkcje androidx.compose.compiler:compiler:1.4.8
, androidx.compose.compiler:compiler-daemon:1.4.8
i androidx.compose.compiler:compiler-hosted:1.4.8
są dostępne. Wersja 1.4.8 zawiera te zatwierdzenia.
Nowe funkcje
- Docelowa wersja kompilatora Kotlin została podniesiona do 1.8.22.
Poprawki błędów
- Ulepszono komunikat o błędzie dotyczący zastępowania wartości
@Composable
. Teraz poprawnie wskazuje niezgodność adnotacji. - Ostrzeżenie o niepotrzebnej adnotacji
@Composable
w przypadku funkcji lambda w ciele funkcji, które nie powinny być oznaczone jako kompozytowe. Ta funkcja nie będzie obsługiwana przez kompilator K2.
Wersja 1.4.7
Wersja 1.4.7
3 maja 2023 r.
Funkcje androidx.compose.compiler:compiler:1.4.7
, androidx.compose.compiler:compiler-daemon:1.4.7
i androidx.compose.compiler:compiler-hosted:1.4.7
są dostępne. Wersja 1.4.7 zawiera te zatwierdzenia.
Nowe funkcje
- Obsługa Kotlina 1.8.21
- Dodano prymitywne wersje interfejsu API
State
, które umożliwiają śledzenie wartości Int, Long, Float i Double w obiektachState
bez naliczania kar za automatyczne zaokrąglanie.
Wersja 1.4.6
Wersja 1.4.6
19 kwietnia 2023 r.
Funkcje androidx.compose.compiler:compiler:1.4.6
, androidx.compose.compiler:compiler-daemon:1.4.6
i androidx.compose.compiler:compiler-hosted:1.4.6
są dostępne. Wersja 1.4.6 zawiera te zatwierdzenia.
Poprawki błędów
- Kompilator Compose zależy teraz od Javy 11 (zamiast Javy 17 wymaganej przez kompilator Compose w wersji 1.4.5), aby lepiej obsługiwać użytkowników, którzy nadal korzystają ze starszych wersji Javy.
Wersja 1.4.5
Wersja 1.4.5
12 kwietnia 2023 r.
Funkcje androidx.compose.compiler:compiler:1.4.5
, androidx.compose.compiler:compiler-daemon:1.4.5
i androidx.compose.compiler:compiler-hosted:1.4.5
są dostępne. Wersja 1.4.5 zawiera te zatwierdzenia.
UWAGA: ta wersja kompilatora Compose wymaga, aby środowisko kompilacji używało Javy w wersji 17 lub nowszej. Na podstawie opinii użytkowników zrezygnujemy z tego wymagania i wprowadzimy wersję 1.4.6, aby lepiej obsługiwać użytkowników korzystających ze starszych wersji Javy.
Nowe funkcje
Obsługa Kotlina 1.8.20
Poprawki błędów
- Rozpowszechnianie wymagań dotyczących zastępowania operatora wywołania kompozytowego do klas i interfejsów rozszerzających interfejsy lambda za pomocą odpowiednich adnotacji.f8f2f78a1a769c2373201027f12700e772e4e97e
- Umożliwia użycie adnotacji
@Composable
w operatorzegetValue
i oznacza wygenerowany getter dla delegata jako kompozytywny w IR, aby zapewnić jego prawidłową późniejszą transformację. f174f6ee60ca957d5cb6d19a5bd02a88267cdf40 - Naprawiono wewnętrzny błąd czasu wykonywania w komponencie Compose (oczekiwano, że funkcja
applyChanges()
została wywołana) w przypadku funkcji w wierszu.b/274786923 - Unikaj rejestrowania
ProcessCancelledException
, ponieważ ma ono specjalne znaczenie w IDE.b/274725600
Darowizna zewnętrzna
- Ulepszona obsługa funkcji kompozytowych w Kotlinie/Natywnym.f52b6aeed22400dd4f4a4f05559a9aa42642402c
Wersja 1.4.4
Wersja 1.4.4
22 marca 2023 r.
Funkcje androidx.compose.compiler:compiler:1.4.4
, androidx.compose.compiler:compiler-daemon:1.4.4
i androidx.compose.compiler:compiler-hosted:1.4.4
są dostępne. Wersja 1.4.4 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawianie zwrotów inline lambda w komponowalnych (72172b)
- Zezwalanie elementom typu „composable” na zwracanie wartości
Nothing
(nie generuj błędu podczas używania TODO w funkcji typu „composable”) 3aea8d)
Wersja 1.4.3
Wersja 1.4.3
22 lutego 2023 roku
androidx.compose.compiler:compiler:1.4.3
został zwolniony. Wersja 1.4.3 zawiera te zatwierdzenia.
Poprawki błędów
- Poprawiono wywołania komponentów warunkowych w argumentach wywołań komponentów (Ie93edb).
Wersja 1.4.2
Wersja 1.4.2
8 lutego 2023 r.
androidx.compose.compiler:compiler:1.4.2
został zwolniony. Wersja 1.4.2 zawiera te zatwierdzenia.
Nowe funkcje
- Obsługa Kotlina 1.8.10
Poprawki błędów
- Dodaj grupy w ciele nieprzeskakujalnych funkcji lambda, aby uniknąć błędu związanego z rekompozycją.
Wersja 1.4.1
Wersja 1.4.1
8 lutego 2023 r.
androidx.compose.compiler:compiler:1.4.1
został zwolniony. Wersja 1.4.1 zawiera te zatwierdzenia.
Poprawki błędów
- Wyłącz optymalizację pamięci wewnętrznej, która wcześniej powodowała kilka błędów w generowaniu kodu.
- Wyłączanie funkcji pamięci wbudowanej w funkcjach zawierających parametr vararg.
- Poprawka błędnego pomijania w komponentach z domyślnymi parametrami
- Dodaj komunikat o błędzie w ramach mechanizmu obronnego, jeśli nie uda się sprawdzić zgodności z Kotlinem.
- Usuwanie pomijania generowania kodu z ramek lambda
Wersja 1.4.0
17 stycznia 2023 r.
androidx.compose.compiler:compiler:1.4.0
został zwolniony. Wersja 1.4.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.3.0
- Obsługa Kotlina 1.8.0
- Wyłączone przypomnienie wewnętrzne
- Klasa danych narzędzi UI
Group
zawiera teraz poleisInline
, które wskazuje, czy grupa służy do wywołania funkcji inline composable. JeśliisInline
totrue
, wywołanie jest wywołaniem funkcji inline composable. Wartość może jednak być fałszywa w przypadku wywołań funkcji inline composable, które pochodzą z modułów skompilowanych za pomocą wersji wtyczki kompilatora Compose, która nie generuje informacji o funkcji inline. ImmutableCollection
i ich trwałe elementy podrzędne są teraz uważane za stabilne.- Nowy parametr w
AnimatedContent
dla etykiety narzędzia - Naprawiono nieprawidłowe generowanie kodu dla lambda wbudowanej.
Wersja 1.4.0-alpha02
11 listopada 2022 r.
androidx.compose.compiler:compiler:1.4.0-alpha02
został zwolniony. Wersja 1.4.0-alpha02 zawiera te commity.
Nowe funkcje
- Dodaliśmy obsługę Kotlina
1.7.21
Wersja 1.4.0-alpha01
9 listopada 2022 r.
androidx.compose.compiler:compiler:1.4.0-alpha01
został zwolniony. Wersja 1.4.0-alpha01 zawiera te commity.
Poprawki błędów
- Naprawiono możliwość wcześniejszego powrotu z funkcji typu „composable” wbudowanych w kod (b/255350755).
- Naprawiono błąd związany z obniżaniem decoy, który powodował problemy z obsługą języka Kotlin/JS w Compose (6a40f).
Wersja 1.3
Wersja 1.3.2
4 października 2022 r.
androidx.compose.compiler:compiler:1.3.2
został zwolniony. Wersja 1.3.2 zawiera te commity.
Nowa funkcja
- Ta wersja zawiera aktualizację Kotlina 1.7.20
Wersja 1.3.1
7 września 2022 roku
androidx.compose.compiler:compiler:1.3.1
został zwolniony. Wersja 1.3.1 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd
IllegalStateException
, który powodował, że kompilator Compose w niektórych okolicznościach błędnie oznaczał typy jednostek jako kompozytowe. (b/237863365) - Użytkownicy muszą teraz określić preferowaną wersję Kotlina, gdy chcą pominąć sprawdzanie wersji kompilatora (I9e5e2)
Wersja 1.3.0
10 sierpnia 2022 r.
androidx.compose.compiler:compiler:1.3.0
został zwolniony. Wersja 1.3.0 zawiera te commity.
Wersja 1.3.0-rc02
3 sierpnia 2022 r.
androidx.compose.compiler:compiler:1.3.0-rc02
został zwolniony. Wersja 1.3.0-rc02 zawiera te commity.
Wersja 1.3.0-rc01
27 lipca 2022 roku
androidx.compose.compiler:compiler:1.3.0-rc01
został zwolniony. Wersja 1.3.0-rc01 zawiera te commity.
Wersja 1.3.0-beta01
20 lipca 2022 roku
androidx.compose.compiler:compiler:1.3.0-beta01
został zwolniony. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaliśmy obsługę Kotlina
1.7.10
Wersja 1.2
Wersja 1.2.0
29 czerwca 2022 r.
androidx.compose.compiler:compiler:1.2.0
został zwolniony. Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
- Obsługa Kotlina w wersji 1.7.0
- Przeczytaj nasz wpis na blogu, w którym wyjaśniamy nową strategię dotyczącą wersji kompilatora Compose.
Wersja 1.2.0-rc02
22 czerwca 2022 r.
androidx.compose.compiler:compiler:1.2.0-rc02
został zwolniony. Wersja 1.2.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Usunięto generowanie kodu zdarzenia śledzenia w komponentach (aosp/2127922)
Wersja 1.2.0-rc01
15 czerwca 2022 r.
androidx.compose.compiler:compiler:1.2.0-rc01
został zwolniony. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Wersja 1.2.0-beta03
1 czerwca 2022 r.
androidx.compose.compiler:compiler:1.2.0-beta03
został zwolniony. Wersja 1.2.0-beta03 zawiera te commity.
Wersja 1.2.0-beta02
18 maja 2022 r.
androidx.compose.compiler:compiler:1.2.0-beta02
został zwolniony. Wersja 1.2.0-beta02 zawiera te commity.
Wersja 1.2.0-beta01
11 maja 2022 roku
androidx.compose.compiler:compiler:1.2.0-beta01
został zwolniony. Wersja 1.2.0-beta01 zawiera te commity.
- To pierwsza wersja beta 1.2. Nie ma żadnych zmian od ostatniej wersji alfa.
Nowe funkcje
- Dodaliśmy obsługę Kotlina
1.6.21
Wersja 1.2.0-alpha08
20 kwietnia 2022 r.
androidx.compose.compiler:compiler:1.2.0-alpha08
został zwolniony. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.
Wersja 1.2.0-alpha07
6 kwietnia 2022 roku
androidx.compose.compiler:compiler:1.2.0-alpha07
został zwolniony. Wersja 1.2.0-alpha07 zawiera te zatwierdzenia.
Wersja 1.2.0-alpha06
23 marca 2022 r.
androidx.compose.compiler:compiler:1.2.0-alpha06
został zwolniony. Wersja 1.2.0-alpha06 zawiera te commity.
Wersja 1.2.0-alpha05
9 marca 2022 r.
androidx.compose.compiler:compiler:1.2.0-alpha05
został zwolniony. Wersja 1.2.0-alpha05 zawiera te commity.
Wersja 1.2.0-alpha04
23 lutego 2022 r.
androidx.compose.compiler:compiler:1.2.0-alpha04
został zwolniony. Wersja 1.2.0-alpha04 zawiera te commity.
Wersja 1.2.0-alpha03
9 lutego 2022 r.
androidx.compose.compiler:compiler:1.2.0-alpha03
został zwolniony. Wersja 1.2.0-alpha03 zawiera te komisy.
Wersja 1.2.0-alpha02
26 stycznia 2022 r.
androidx.compose.compiler:compiler:1.2.0-alpha02
został zwolniony. Wersja 1.2.0-alpha02 zawiera te commity.
Wersja 1.2.0-alpha01
12 stycznia 2022 r.
androidx.compose.compiler:compiler:1.2.0-alpha01
został zwolniony. Wersja 1.2.0-alpha01 zawiera te commity.
Nowe funkcje
- Dodano obsługę Kotlina
1.6.10
.
Wersja 1.1
Wersja 1.1.1
23 lutego 2022 r.
androidx.compose.compiler:compiler:1.1.1
został zwolniony. Wersja 1.1.1 zawiera te zatwierdzenia.
Poprawki błędów
- Napraw
NullPointerException
wandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
(aosp/1947059, b/206677462). - Naprawiono awarię spowodowaną przez zawartość schowka podczas odczytu ze schowka na Androidzie. (I06020, b/197769306)
- Naprawiono RTL w
LazyVerticalGrid
(aosp/1931080, b/207510535).
Wersja 1.1.0
9 lutego 2022 r.
androidx.compose.compiler:compiler:1.1.0
został zwolniony. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.0.0
- stabilna obsługa efektu przewijania do końca w Androidzie 12,
- Ulepszone dopasowywanie rozmiaru dotyku
- Pamiętaj, że w wersji Compose 1.0 komponenty Material Design będą rozszerzać swoją przestrzeń układu, aby spełniać wytyczne Material Design dotyczące rozmiaru docelowego elementu dotykowego. Na przykład docelowy element dotykowy przycisku będzie miał co najmniej rozmiar
48x48dp
, nawet jeśli ustawisz mniejszy rozmiar przycisku. Dzięki temu komponenty Compose będą działać tak samo jak komponenty Material Design, co zapewni spójność, jeśli użyjesz widoków i Compose. Ta zmiana zapewnia też, że podczas tworzenia interfejsu użytkownika za pomocą komponentów Compose Material zostaną spełnione minimalne wymagania dotyczące dostępności docelowych elementów dotykowych. - stabilna obsługa kolumny nawigacji,
- przekształciliśmy kilka wcześniej eksperymentalnych interfejsów API w stabilne.
- Obsługa nowszych wersji Kotlina
Wersja 1.1.0-rc03
26 stycznia 2022 r.
androidx.compose.compiler:compiler:1.1.0-rc03
został zwolniony. Wersja 1.1.0-rc03 zawiera te commity.
Poprawki błędów
- Zaktualizowano, aby obsługiwać Compose Material 1.1.0-rc03
Wersja 1.1.0-rc02
16 grudnia 2021 r.
androidx.compose.compiler:compiler:1.1.0-rc02
został zwolniony. Wersja 1.1.0-rc02 zawiera te zatwierdzenia.
Aktualizacje zależności
- Kompilator Compose
1.1.0-rc02
jest zgodny z Kotlinem1.6.10
.
Wersja 1.1.0-rc01
15 grudnia 2021 roku
androidx.compose.compiler:compiler:1.1.0-rc01
został zwolniony. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Zmiany zależności
- Kompilator Compose
1.1.0-rc01
jest zgodny z Kotlinem1.6.0
. Kompatybilna wersja
1.6.10
jest dostępna na stronie androidx.dev w ramach migawek zbuildId
8003490. Ten fragment kodu skonfiguruje SNAPSHOTS dla kompilatora Compose:Dodaj do głównego pliku
build.gradle
projektu ten fragment kodu:buildscript { repositories { google() jcenter() maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' } } }
Dodaj do pliku
build.gradle
swojej aplikacji lub modułu, który korzysta z Compose, ten fragment kodu:android { composeOptions { kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT" } }
Wersja 1.1.0-beta04
1 grudnia 2021 r.
androidx.compose.compiler:compiler:1.1.0-beta04
został zwolniony. Wersja 1.1.0-beta04 zawiera te commity.
Nowe funkcje
- Zaktualizowano, aby zapewnić zgodność z Kotlin
1.6.0
Wersja 1.1.0-beta03
17 listopada 2021 r.
androidx.compose.compiler:compiler:1.1.0-beta03
został zwolniony. Wersja 1.1.0-beta03 zawiera te commity.
Wersja 1.1.0-beta02
3 listopada 2021 r.
androidx.compose.compiler:compiler:1.1.0-beta02
został zwolniony. Wersja 1.1.0-beta02 zawiera te commity.
Wersja 1.1.0-beta01
27 października 2021 roku
androidx.compose.compiler:compiler:1.1.0-beta01
został zwolniony. Wersja 1.1.0-beta01 zawiera te commity.
Wersja 1.1.0-alpha06
13 października 2021 r.
androidx.compose.compiler:compiler:1.1.0-alpha06
został zwolniony. Wersja 1.1.0-alpha06 zawiera te commity.
Wersja 1.1.0-alpha05
29 września 2021 r.
androidx.compose.compiler:compiler:1.1.0-alpha05
został zwolniony. Wersja 1.1.0-alpha05 zawiera te commity.
Wersja 1.1.0-alpha04
15 września 2021 r.
androidx.compose.compiler:compiler:1.1.0-alpha04
został zwolniony. Wersja 1.1.0-alpha04 zawiera te commity.
Wersja 1.1.0-alpha03
1 września 2021 roku
androidx.compose.compiler:compiler:1.1.0-alpha03
został zwolniony. Wersja 1.1.0-alpha03 zawiera te commity.
Nowe funkcje
- Kompilator Compose obsługuje teraz starsze wersje środowiska wykonawczego Compose (1.0). Przed tą zmianą kompilator Compose był zgodny tylko z Compose Runtime tej samej wersji lub nowszej. Po tej zmianie kompilator Compose jest zgodny ze starszą wersją środowiska wykonawczego Compose (1.0). (aosp/1796968)
- Zaktualizowano Compose
1.1.0-alpha03
, aby zależało od Kotlina1.5.30
. (I74545)
Wersja 1.1.0-alpha02
18 sierpnia 2021 r.
androidx.compose.compiler:compiler:1.1.0-alpha02
został zwolniony. Wersja 1.1.0-alpha02 zawiera te commity.
Wersja 1.1.0-alpha01
4 sierpnia 2021 r.
androidx.compose.compiler:compiler:1.1.0-alpha01
został zwolniony. Wersja 1.1.0-alpha01 zawiera te commity.
Wersja 1.0
Wersja 1.0.5
3 listopada 2021 r.
androidx.compose.compiler:compiler:1.0.5
został zwolniony. Wersja 1.0.5 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono problem ze śledzeniem awarii w przypadku instancji derivedStateOf. (aosp/1792247)
Wersja 1.0.4
13 października 2021 r.
androidx.compose.compiler:compiler:1.0.4
został zwolniony. Wersja 1.0.4 zawiera te zatwierdzenia.
Aktualizacje zależności
- Zaktualizowano zależność od Kotlina
1.5.31
Wersja 1.0.3
29 września 2021 r.
androidx.compose.compiler:compiler:1.0.3
został zwolniony. Wersja 1.0.3 zawiera te zatwierdzenia.
Aktualizacje zależności
- Zaktualizowano zależność od Kotlina
1.5.30
Wersja 1.0.2
1 września 2021 roku
androidx.compose.compiler:compiler:1.0.2
został zwolniony. Wersja 1.0.2 zawiera te zatwierdzenia.
Zaktualizowano, aby obsługiwać wersję 1.0.2
aplikacji Compose. Compose 1.0.2
jest nadal zgodny z Kotlinem 1.5.21
.
Wersja 1.0.1
4 sierpnia 2021 r.
androidx.compose.compiler:compiler:1.0.1
został zwolniony. Wersja 1.0.1 zawiera te zatwierdzenia.
Aktualizacje zależności
- Zaktualizowano, aby zależało od Kotlina
1.5.21
.
Wersja 1.0.0
28 lipca 2021 roku
androidx.compose.compiler:compiler:1.0.0
został zwolniony. Wersja 1.0.0 zawiera te zatwierdzenia.
Najważniejsze funkcje wersji 1.0.0
To pierwsza stabilna wersja Compose. Więcej informacji znajdziesz na oficjalnym blogu Compose Release.
Wersja 1.0.0-rc02
14 lipca 2021 roku
androidx.compose.compiler:compiler:1.0.0-rc02
został zwolniony. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.
Wersja 1.0.0-rc01
1 lipca 2021 r.
androidx.compose.compiler:compiler:1.0.0-rc01
został zwolniony. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Wersja 1.0.0-beta09
16 czerwca 2021 r.
androidx.compose.compiler:compiler:1.0.0-beta09
został zwolniony. Wersja 1.0.0-beta09 zawiera te commity.
Wersja 1.0.0-beta08
2 czerwca 2021 r.
androidx.compose.compiler:compiler:1.0.0-beta08
został zwolniony. Wersja 1.0.0-beta08 zawiera te commity.
Wersja 1.0.0-beta07
18 maja 2021 r.
androidx.compose.compiler:compiler:1.0.0-beta07
został zwolniony. Wersja 1.0.0-beta07 zawiera te zatwierdzenia.
Wersja 1.0.0-beta06
5 maja 2021 roku
androidx.compose.compiler:compiler:1.0.0-beta06
został zwolniony. Wersja 1.0.0-beta06 zawiera te zatwierdzenia.
Wersja 1.0.0-beta05
21 kwietnia 2021 r.
androidx.compose.compiler:compiler:1.0.0-beta05
został zwolniony. Wersja 1.0.0-beta05 zawiera te commity.
Wersja 1.0.0-beta04
7 kwietnia 2021 r.
androidx.compose.compiler:compiler:1.0.0-beta04
został zwolniony. Wersja 1.0.0-beta04 zawiera te commity.
Wersja 1.0.0-beta03
24 marca 2021 r.
androidx.compose.compiler:compiler:1.0.0-beta03
został zwolniony. Wersja 1.0.0-beta03 zawiera te komitowane zmiany.
Wersja 1.0.0-beta02
10 marca 2021 r.
androidx.compose.compiler:compiler:1.0.0-beta02
został zwolniony. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.
Wersja 1.0.0-beta01
24 lutego 2021 r.
androidx.compose.compiler:compiler:1.0.0-beta01
został zwolniony. Wersja 1.0.0-beta01 zawiera te commity.
To pierwsza wersja Compose 1.0.0 w wersji beta.
Wersja 1.0.0-alpha12
10 lutego 2021 r.
androidx.compose.compiler:compiler:1.0.0-alpha12
został zwolniony. Wersja 1.0.0-alpha12 zawiera te commity.
Wersja 1.0.0-alpha11
28 stycznia 2021 roku
androidx.compose.compiler:compiler:1.0.0-alpha11
został zwolniony. Wersja 1.0.0-alpha11 zawiera te commity.
Wersja 1.0.0-alpha10
13 stycznia 2021 r.
androidx.compose.compiler:compiler:1.0.0-alpha10
został zwolniony. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Wersja 1.0.0-alpha09
16 grudnia 2020 roku
androidx.compose.compiler:compiler:1.0.0-alpha09
został zwolniony. Wersja 1.0.0-alpha09 zawiera te commity.
Wersja 1.0.0-alpha08
2 grudnia 2020 r.
androidx.compose.compiler:compiler:1.0.0-alpha08
został zwolniony. Wersja 1.0.0-alpha08 zawiera te commity.
Wersja 1.0.0-alpha07
11 listopada 2020 roku
androidx.compose.compiler:compiler:1.0.0-alpha07
został zwolniony. Wersja 1.0.0-alpha07 zawiera te commity.
Nowe funkcje
- Wnioskowanie i rozchodzenie się stabilności. Komponent kompilatora usługi Compose będzie analizować typy, które kompiluje, aby określić, czy można je zoptymalizować w czasie wykonywania. Ten wynik jest następnie syntetyzowany jako metadane klasy, aby kompilator mógł go wykorzystać w innych modułach. Ponadto wynik tych wnioskowań jest przekazywany w ramach metadanych przekazywanych do wywołań kompozytowych podczas tworzenia. Wymagało to użycia innego protokołu metadanych w przypadku funkcji składanych, co oznacza, że funkcje składane skompilowane za pomocą kompilatora alpha07 nie będą zgodne z binarnymi funkcjami składanymi skompilowanymi za pomocą wcześniejszej wersji kompilatora. (aosp/1431988)
Wersja 1.0.0-alpha06
28 października 2020 r.
androidx.compose.compiler:compiler:1.0.0-alpha06
został zwolniony. Wersja 1.0.0-alpha06 zawiera te commity.
Wersja 1.0.0-alpha05
14 października 2020 r.
androidx.compose.compiler:compiler:1.0.0-alpha05
został zwolniony. Wersja 1.0.0-alpha05 zawiera te commity.
Wersja 1.0.0-alpha04
1 października 2020 roku
androidx.compose.compiler:compiler:1.0.0-alpha04
został zwolniony. Wersja 1.0.0-alpha04 zawiera te commity.
Element androidx.compose:compose-compiler
został przekształcony w element androidx.compose.compiler:compiler
.
To pierwsza wersja w nowej grupie.