Compose Compiler

Mentransformasi fungsi @Composable dan mengaktifkan pengoptimalan dengan plugin compiler Kotlin.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
8 Februari 2023 1.4.2 - - -

Struktur

Compose adalah kombinasi 7 ID Grup Maven dalam androidx. Setiap Grup berisi subkumpulan fungsi yang ditargetkan, masing-masing dengan kumpulan catatan rilisnya sendiri.

Tabel ini menjelaskan grup tersebut dan disertai link ke setiap kumpulan catatan rilis.

GrupDeskripsi
compose.animationMem-build animasi di aplikasi Jetpack Compose untuk memperkaya pengalaman pengguna.
compose.compilerMentransformasi fungsi @Composable dan mengaktifkan pengoptimalan dengan plugin compiler Kotlin.
compose.foundationMenulis aplikasi Jetpack Compose dengan elemen penyusun siap pakai dan memperluas dasar untuk mem-build bagian sistem desain Anda sendiri.
compose.materialMem-build UI Jetpack Compose dengan Komponen Desain Material siap pakai. Ini adalah titik entri pada tingkat yang lebih tinggi untuk Compose, yang dirancang untuk menyediakan komponen yang cocok dengan yang dijelaskan di www.material.io.
compose.material3Mem-build UI Jetpack Compose dengan Komponen Desain Material 3, evolusi berikutnya dari Desain Material. Material 3 menyertakan tema dan komponen yang diperbarui serta fitur personalisasi Material You, seperti warna dinamis. Material 3 juga didesain agar selaras dengan gaya visual dan UI sistem Android 12 yang baru.
compose.runtimeElemen penyusun yang penting untuk model pemrograman dan pengelolaan status Compose, serta runtime inti untuk ditargetkan oleh Plugin Compose Compiler.
compose.uiKomponen dasar compose UI yang diperlukan untuk berinteraksi dengan perangkat, termasuk tata letak, gambar, dan input.

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Compose, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.4.3"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.4.3"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Versi 1.4.2

Versi 1.4.2

8 Februari 2023

androidx.compose.compiler:compiler:1.4.2 dirilis. Versi 1.4.2 berisi commit ini.

Fitur Baru

  • Dukungan untuk Kotlin 1.8.10

Perbaikan Bug

  • Menambahkan grup dalam isi lambda yang tidak dapat dilewati untuk menghindari bug rekomposisi.

Versi 1.4.1

Versi 1.4.1

8 Februari 2023

androidx.compose.compiler:compiler:1.4.1 dirilis. Versi 1.4.1 berisi commit ini.

Perbaikan Bug

  • Menonaktifkan pengoptimalan remember intrinsik yang sebelumnya telah memperkenalkan beberapa bug pembuatan kode.
  • Menonaktifkan remember intrinsik dalam fungsi yang berisi parameter vararg.
  • Memperbaiki tindakan melewatkan yang keliru dalam composable dengan parameter default
  • Menambahkan pesan error penggantian defensif jika gagal memeriksa kompatibilitas Kotlin.
  • Menghapus pembuatan kode yang terlewat dari lambda inline

Versi 1.4.0

17 Januari 2023

androidx.compose.compiler:compiler:1.4.0 dirilis. Versi 1.4.0 berisi commit ini.

Perubahan penting sejak versi 1.3.0

  • Dukungan untuk Kotlin 1.8.0
  • Menonaktifkan remember intrinsik
  • Class data alat UI Group kini memiliki kolom, isInline, yang menunjukkan apakah grup tersebut untuk panggilan ke fungsi composable inline. Jika isInline adalah true, maka panggilan tersebut untuk fungsi composable inline. Namun, nilainya mungkin salah (false) untuk panggilan ke fungsi composable inline yang berasal dari modul yang dikompilasi dengan versi plugin compiler compose yang tidak menghasilkan informasi fungsi inline.
  • ImmutableCollection dan elemen seinduk Persisten kini dianggap stabil.
  • Parameter baru di AnimatedContent untuk label alat
  • Memperbaiki pembuatan kode yang salah untuk lambda inline

Versi 1.4.0-alpha02

11 November 2022

androidx.compose.compiler:compiler:1.4.0-alpha02 dirilis. Versi 1.4.0-alpha02 berisi commit ini.

Fitur Baru

  • Menambahkan dukungan untuk Kotlin 1.7.21

Versi 1.4.0-alpha01

9 November 2022

androidx.compose.compiler:compiler:1.4.0-alpha01 dirilis. Versi 1.4.0-alpha01 berisi commit ini.

Perbaikan Bug

  • Memperbaiki kemampuan untuk menampilkan lebih awal dari fungsi composable inline (b/255350755)
  • Memperbaiki bug dalam penurunan umpan yang merusak dukungan Kotlin/JS di Compose (6a40f8).

Versi 1.3

Versi 1.3.2

4 Oktober 2022

androidx.compose.compiler:compiler:1.3.2 dirilis. Versi 1.3.2 berisi commit ini.

Fitur Baru

  • Versi ini mencakup update ke Kotlin 1.7.20

Versi 1.3.1

7 September 2022

androidx.compose.compiler:compiler:1.3.1 dirilis. Versi 1.3.1 berisi commit ini.

Perbaikan Bug

  • Memperbaiki IllegalStateException saat Compose Compiler salah menandai jenis unit sebagai composable dalam beberapa situasi. (b/237863365)
  • Pengguna kini harus menentukan versi Kotlin pilihan mereka saat menyembunyikan pemeriksaan versi compiler (I9e5e2)

Versi 1.3.0

10 Agustus 2022

androidx.compose.compiler:compiler:1.3.0 dirilis. Versi 1.3.0 berisi commit ini.

Versi 1.3.0-rc02

3 Agustus 2022

androidx.compose.compiler:compiler:1.3.0-rc02 dirilis. Versi 1.3.0-rc02 berisi commit ini.

Versi 1.3.0-rc01

27 Juli 2022

androidx.compose.compiler:compiler:1.3.0-rc01 dirilis. Versi 1.3.0-rc01 berisi commit ini.

Versi 1.3.0-beta01

20 Juli 2022

androidx.compose.compiler:compiler:1.3.0-beta01 dirilis. Versi 1.3.0-beta01 berisi commit ini.

Fitur Baru

  • Menambahkan dukungan untuk Kotlin 1.7.10

Versi 1.2

Versi 1.2.0

29 Juni 2022

androidx.compose.compiler:compiler:1.2.0 dirilis. Versi 1.2.0 berisi commit ini.

Perubahan penting sejak 1.1.0

Versi 1.2.0-rc02

22 Juni 2022

androidx.compose.compiler:compiler:1.2.0-rc02 dirilis. Versi 1.2.0-rc02 berisi commit ini.

Perbaikan Bug

  • Menghapus pembuatan kode Peristiwa Rekaman Aktivitas composable (aosp/2127922)

Versi 1.2.0-rc01

15 Juni 2022

androidx.compose.compiler:compiler:1.2.0-rc01 dirilis. Versi 1.2.0-rc01 berisi commit ini.

Versi 1.2.0-beta03

1 Juni 2022

androidx.compose.compiler:compiler:1.2.0-beta03 dirilis. Versi 1.2.0-beta03 berisi commit ini.

Versi 1.2.0-beta02

18 Mei 2022

androidx.compose.compiler:compiler:1.2.0-beta02 dirilis. Versi 1.2.0-beta02 berisi commit ini.

Versi 1.2.0-beta01

11 Mei 2022

androidx.compose.compiler:compiler:1.2.0-beta01 dirilis. Versi 1.2.0-beta01 berisi commit ini.

  • Ini adalah rilis beta pertama 1.2. Tidak ada perubahan sejak versi alfa terakhir.

Fitur Baru

  • Menambahkan dukungan untuk Kotlin 1.6.21

Versi 1.2.0-alpha08

20 April 2022

androidx.compose.compiler:compiler:1.2.0-alpha08 dirilis. Versi 1.2.0-alpha08 berisi commit ini.

Versi 1.2.0-alpha07

6 April 2022

androidx.compose.compiler:compiler:1.2.0-alpha07 dirilis. Versi 1.2.0-alpha07 berisi commit ini.

Versi 1.2.0-alpha06

23 Maret 2022

androidx.compose.compiler:compiler:1.2.0-alpha06 dirilis. Versi 1.2.0-alpha06 berisi commit ini.

Versi 1.2.0-alpha05

9 Maret 2022

androidx.compose.compiler:compiler:1.2.0-alpha05 dirilis. Versi 1.2.0-alpha05 berisi commit ini.

Versi 1.2.0-alpha04

23 Februari 2022

androidx.compose.compiler:compiler:1.2.0-alpha04 dirilis. Versi 1.2.0-alpha04 berisi commit ini.

Versi 1.2.0-alpha03

9 Februari 2022

androidx.compose.compiler:compiler:1.2.0-alpha03 dirilis. Versi 1.2.0-alpha03 berisi commit ini.

Versi 1.2.0-alpha02

26 Januari 2022

androidx.compose.compiler:compiler:1.2.0-alpha02 dirilis. Versi 1.2.0-alpha02 berisi commit ini.

Versi 1.2.0-alpha01

12 Januari 2022

androidx.compose.compiler:compiler:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit ini.

Fitur Baru

  • Menambahkan dukungan untuk Kotlin 1.6.10.

Versi 1.1

Versi 1.1.1

23 Februari 2022

androidx.compose.compiler:compiler:1.1.1 dirilis. Versi 1.1.1 berisi commit ini.

Perbaikan Bug

Versi 1.1.0

9 Februari 2022

androidx.compose.compiler:compiler:1.1.0 dirilis. Versi 1.1.0 berisi commit ini.

Perubahan penting sejak versi 1.0.0

  • Dukungan yang stabil untuk Efek overscroll Android 12
  • Peningkatan penentuan ukuran target sentuh
  • Perhatikan bahwa, sehubungan dengan Compose 1.0, komponen Material akan memperluas ruang tata letaknya untuk memenuhi panduan aksesibilitas Material terkait ukuran target sentuh. Misalnya, target sentuh Button akan diperluas hingga ukuran minimum 48x48dp, meskipun Anda menyetel ukuran Button menjadi lebih kecil. Tindakan ini akan menyelaraskan Compose Material ke perilaku Komponen Desain Material yang sama, sehingga memberikan perilaku yang konsisten jika Anda menggabungkan Views dan Compose. Perubahan ini juga memastikan bahwa saat Anda membuat UI menggunakan komponen Compose Material, persyaratan minimum untuk aksesibilitas target sentuh akan terpenuhi.
  • Dukungan yang stabil untuk Navigation Rail
  • Menstabilkan sejumlah API yang sebelumnya masih eksperimental
  • Dukungan untuk versi Kotlin yang lebih baru

Versi 1.1.0-rc03

26 Januari 2022

androidx.compose.compiler:compiler:1.1.0-rc03 dirilis. Versi 1.1.0-rc03 berisi commit ini.

Perbaikan Bug

  • Diupdate agar mendukung Compose Material 1.1.0-rc03

Versi 1.1.0-rc02

16 Desember 2021

androidx.compose.compiler:compiler:1.1.0-rc02 dirilis. Versi 1.1.0-rc02 berisi commit berikut ini.

Update dependensi

  • Compose Compiler 1.1.0-rc02 kompatibel dengan Kotlin 1.6.10.

Versi 1.1.0-rc01

15 Desember 2021

androidx.compose.compiler:compiler:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit ini.

Perubahan dependensi

  • Compose Compiler 1.1.0-rc01 kompatibel dengan Kotlin 1.6.0.
  • Build 1.6.10 yang kompatibel tersedia melalui SNAPSHOT androidx.dev dengan buildId 8003490. Cuplikan dependensi berikut akan mengonfigurasi SNAPSHOT untuk Compose Compiler:

    Tambahkan cuplikan berikut ke file build.gradle root untuk project Anda:

    buildscript {
        repositories {
            google()
            jcenter()
            maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' }
        }
    }
    

    Tambahkan cuplikan berikut ke file build.gradle untuk aplikasi atau modul yang menggunakan Compose:

    android {
        composeOptions {
            kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT"
        }
    }
    

Versi 1.1.0-beta04

1 Desember 2021

androidx.compose.compiler:compiler:1.1.0-beta04 dirilis. Versi 1.1.0-beta04 berisi commit ini.

Fitur Baru

  • Diupdate agar kompatibel dengan Kotlin 1.6.0

Versi 1.1.0-beta03

17 November 2021

androidx.compose.compiler:compiler:1.1.0-beta03 dirilis. Versi 1.1.0-beta03 berisi commit ini.

Versi 1.1.0-beta02

3 November 2021

androidx.compose.compiler:compiler:1.1.0-beta02 dirilis. Versi 1.1.0-beta02 berisi commit ini.

Versi 1.1.0-beta01

27 Oktober 2021

androidx.compose.compiler:compiler:1.1.0-beta01 dirilis. Versi 1.1.0-beta01 berisi commit ini.

Versi 1.1.0-alpha06

13 Oktober 2021

androidx.compose.compiler:compiler:1.1.0-alpha06 dirilis. Versi 1.1.0-alpha06 berisi commit ini.

Versi 1.1.0-alpha05

29 September 2021

androidx.compose.compiler:compiler:1.1.0-alpha05 dirilis. Versi 1.1.0-alpha05 berisi commit ini.

Versi 1.1.0-alpha04

15 September 2021

androidx.compose.compiler:compiler:1.1.0-alpha04 dirilis. Versi 1.1.0-alpha04 berisi commit ini.

Versi 1.1.0-alpha03

1 September 2021

androidx.compose.compiler:compiler:1.1.0-alpha03 dirilis. Versi 1.1.0-alpha03 berisi commit ini.

Fitur Baru

  • Compose Compiler kini mendukung versi Compose Runtime yang lebih lama (1.0). Sebelum perubahan ini, Compose Compiler hanya kompatibel dengan Compose Runtime versi yang sama atau yang lebih baru. Setelah perubahan ini, Compose Compiler kompatibel dengan versi Compose Runtime yang lebih lama (1.0). (aosp/1796968)
  • Mengupdate Compose 1.1.0-alpha03 agar bergantung pada Kotlin 1.5.30. (I74545)

Versi 1.1.0-alpha02

18 Agustus 2021

androidx.compose.compiler:compiler:1.1.0-alpha02 dirilis. Versi 1.1.0-alpha02 berisi commit ini.

Versi 1.1.0-alpha01

4 Agustus 2021

androidx.compose.compiler:compiler:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.

Versi 1.0

Versi 1.0.5

3 November 2021

androidx.compose.compiler:compiler:1.0.5 dirilis. Versi 1.0.5 berisi commit ini.

Perbaikan Bug

  • Memperbaiki instance derivedStateOf pelacakan error. (aosp/1792247)

Versi 1.0.4

13 Oktober 2021

androidx.compose.compiler:compiler:1.0.4 dirilis. Versi 1.0.4 berisi commit ini.

Update Dependensi

  • Diupdate agar bergantung pada Kotlin 1.5.31

Versi 1.0.3

29 September 2021

androidx.compose.compiler:compiler:1.0.3 dirilis. Versi 1.0.3 berisi commit ini.

Update Dependensi

  • Diupdate agar bergantung pada Kotlin 1.5.30

Versi 1.0.2

1 September 2021

androidx.compose.compiler:compiler:1.0.2 dirilis. Versi 1.0.2 berisi commit ini.

Diupdate untuk mendukung rilis Compose 1.0.2. Compose 1.0.2 masih kompatibel dengan Kotlin 1.5.21.

Versi 1.0.1

4 Agustus 2021

androidx.compose.compiler:compiler:1.0.1 dirilis. Versi 1.0.1 berisi commit ini.

Update Dependensi

  • Diupdate agar bergantung pada Kotlin 1.5.21.

Versi 1.0.0

28 Juli 2021

androidx.compose.compiler:compiler:1.0.0 dirilis. Versi 1.0.0 berisi commit ini.

Fitur utama 1.0.0

Ini adalah rilis stabil pertama Compose. Lihat blog Rilis Compose resmi untuk mengetahui detail selengkapnya.

Versi 1.0.0-rc02

14 Juli 2021

androidx.compose.compiler:compiler:1.0.0-rc02 dirilis. Versi 1.0.0-rc02 berisi commit ini.

Versi 1.0.0-rc01

1 Juli 2021

androidx.compose.compiler:compiler:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit ini.

Versi 1.0.0-beta09

16 Juni 2021

androidx.compose.compiler:compiler:1.0.0-beta09 dirilis. Versi 1.0.0-beta09 berisi commit ini.

Versi 1.0.0-beta08

2 Juni 2021

androidx.compose.compiler:compiler:1.0.0-beta08 dirilis. Versi 1.0.0-beta08 berisi commit ini.

Versi 1.0.0-beta07

18 Mei 2021

androidx.compose.compiler:compiler:1.0.0-beta07 dirilis. Versi 1.0.0-beta07 berisi commit ini.

Versi 1.0.0-beta06

5 Mei 2021

androidx.compose.compiler:compiler:1.0.0-beta06 dirilis. Versi 1.0.0-beta06 berisi commit ini.

Versi 1.0.0-beta05

21 April 2021

androidx.compose.compiler:compiler:1.0.0-beta05 dirilis. Versi 1.0.0-beta05 berisi commit ini.

Versi 1.0.0-beta04

7 April 2021

androidx.compose.compiler:compiler:1.0.0-beta04 dirilis. Versi 1.0.0-beta04 berisi commit ini.

Versi 1.0.0-beta03

24 Maret 2021

androidx.compose.compiler:compiler:1.0.0-beta03 dirilis. Versi 1.0.0-beta03 berisi commit ini.

Versi 1.0.0-beta02

10 Maret 2021

androidx.compose.compiler:compiler:1.0.0-beta02 dirilis. Versi 1.0.0-beta02 berisi commit ini.

Versi 1.0.0-beta01

24 Februari 2021

androidx.compose.compiler:compiler:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.

Ini adalah rilis pertama Compose 1.0.0 Beta.

Versi 1.0.0-alpha12

10 Februari 2021

androidx.compose.compiler:compiler:1.0.0-alpha12 dirilis. Versi 1.0.0-alpha12 berisi commit ini.

Versi 1.0.0-alpha11

28 Januari 2021

androidx.compose.compiler:compiler:1.0.0-alpha11 dirilis. Versi 1.0.0-alpha11 berisi commit ini.

Versi 1.0.0-alpha10

13 Januari 2021

androidx.compose.compiler:compiler:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit ini.

Versi 1.0.0-alpha09

16 Desember 2020

androidx.compose.compiler:compiler:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit ini.

Versi 1.0.0-alpha08

2 Desember 2020

androidx.compose.compiler:compiler:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit ini.

Versi 1.0.0-alpha07

11 November 2020

androidx.compose.compiler:compiler:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit ini.

Fitur Baru

  • Inferensi & Propagasi Stabilitas. Plugin Compose Compiler akan menganalisis jenis yang dikompilasi untuk menyimpulkan apakah memenuhi syarat untuk pengoptimalan tertentu pada runtime. Inferensi hasil ini kemudian disintesis sebagai metadata ke dalam class untuk digunakan oleh compiler dalam modul lain. Selain itu, hasil runtime dari inferensi ini diteruskan dalam metadata yang diteruskan ke panggilan composable selama komposisi. Hal ini memerlukan protokol metadata yang berbeda untuk fungsi composable, yang berarti bahwa fungsi composable yang dikompilasi dengan compiler alpha07 tidak akan kompatibel secara biner dengan fungsi composable yang dikompilasi dengan versi compiler sebelumnya. (aosp/1431988)

Versi 1.0.0-alpha06

28 Oktober 2020

androidx.compose.compiler:compiler:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit ini.

Versi 1.0.0-alpha05

14 Oktober 2020

androidx.compose.compiler:compiler:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.

Versi 1.0.0-alpha04

1 Oktober 2020

androidx.compose.compiler:compiler:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit ini.

androidx.compose:compose-compiler telah difaktorkan ulang ke androidx.compose.compiler:compiler. Rilis ini merupakan rilis pertama di grup baru.