Compose Compiler

Biến đổi các hàm @Composable và hỗ trợ hoạt động tối ưu hoá bằng trình biên dịch bổ trợ Kotlin.
Bản cập nhật mới nhất Bản phát hành ổn định Bản phát hành dùng thử Bản phát hành beta Bản phát hành Alpha
Ngày 22 tháng 6 năm 2022 1.1.1 1.2.0-rc02 - -

Cấu trúc

Compose là sự kết hợp của 7 mã nhận dạng Nhóm Maven (Maven Group Id) trong androidx. Mỗi Nhóm chứa một tập con chức năng mục tiêu, và mỗi tập con có một bộ ghi chú phát hành riêng.

Bảng này giải thích các nhóm và đường liên kết đến từng bộ ghi chú phát hành.

NhómMô tả
compose.animationTạo ảnh động trong các ứng dụng Jetpack Compose để làm phong phú trải nghiệm người dùng.
compose.compilerBiến đổi các hàm @Composable và hỗ trợ hoạt động tối ưu hoá bằng trình biên dịch bổ trợ Kotlin.
compose.foundationViết ứng dụng Jetpack Compose bằng các khối dựng có sẵn, cũng như mở rộng nền tảng để xây dựng các thành phần của hệ thống thiết kế của riêng bạn.
compose.materialXây dựng các giao diện người dùng Compose Jetpack bằng các thành phần Material Design có sẵn. Đây là điểm truy cập cấp cao hơn của Compose, được thiết kế nhằm cung cấp các thành phần theo như mô tả trên trang web www.material.io.
compose.material3Xây dựng giao diện người dùng Jetpack Compose bằng các thành phần Material Design 3, phiên bản cải tiến tiếp theo của Material Design. Material 3 có giao diện cập nhật, cũng như các thành phần và tính năng cá nhân hoá Material You, chẳng hạn như màu động. Công cụ này được thiết kế để phù hợp với phong cách đồ hoạ và giao diện người dùng hệ thống mới trên Android 12.
compose.runtimeCác khối dựng cơ bản cho mô hình lập trình và tính năng quản lý trạng thái của Compose, đồng thời là thời gian chạy cốt lõi để trình biên dịch bổ trợ Compose nhắm đến.
compose.uiCác thành phần cơ bản của giao diện người dùng Compose cần thiết để tương tác với thiết bị, bao gồm cả bố cục, bản vẽ và phương thức nhập.

Khai báo phần phụ thuộc

Để thêm một phần phụ thuộc trên Compose, bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.

Thêm các phần phụ thuộc cho cấu phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:

Groovy

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.2.0-rc02"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.2.0-rc02"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.

Ý kiến phản hồi

Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.

Báo lỗi mới

Xem tài liệu về công cụ theo dõi lỗi để biết thêm thông tin.

Phiên bản 1.2

Phiên bản 1.2.0-rc02

Ngày 22 tháng 6 năm 2022

Phát hành androidx.compose.compiler:compiler:1.2.0-rc02. Phiên bản 1.2.0-rc02 bao gồm các thay đổi sau.

Sửa lỗi

  • Đã xóa mã sự kiện theo dõi có thể kết hợp (aosp/2127922)

Phiên bản 1.2.0-rc01

Ngày 15 tháng 6 năm 2022

Phát hành androidx.compose.compiler:compiler:1.2.0-rc01. Phiên bản 1.2.0-rc01 bao gồm bao gồm các thay đổi sau.

Phiên bản 1.2.0-beta03

Ngày 2 tháng 6 năm 2022

Phát hành androidx.compose.compiler:compiler:1.2.0-beta03. Phiên bản 1.2.0-beta03 bao gồm các thay đổi sau.

Phiên bản 1.2.0-beta02

Ngày 18 tháng 5 năm 2022

Phát hành androidx.compose.compiler:compiler:1.2.0-beta02. Phiên bản 1.2.0-beta02 bao gồm các thay đổi sau.

Phiên bản 1.2.0-beta01

Ngày 11 tháng 5 năm 2022

Phát hành androidx.compose.compiler:compiler:1.2.0-beta01. Phiên bản 1.2.0-beta01 bao gồm các thay đổi sau.

  • Đây là bản phát hành beta 1.2 đầu tiên! Không có thay đổi nào kể từ bản phát hành alpha gần đây nhất.

Tính năng mới

  • Đã thêm hỗ trợ cho 1.6.21 Kotlin.

Phiên bản 1.2.0-alpha08

Ngày 20 tháng 4 năm 2022

Phát hành androidx.compose.compiler:compiler:1.2.0-alpha08. Phiên bản 1.2.0-alpha08 bao gồm các thay đổi sau.

Phiên bản 1.2.0-alpha07

Ngày 6 tháng Tư, 2022

Phát hành androidx.compose.compiler:compiler:1.2.0-alpha07. Phiên bản 1.2.0-alpha07 bao gồm các thay đổi sau.

Phiên bản 1.2.0-alpha06

Ngày 23 tháng Ba, 2022

Phát hành androidx.compose.compiler:compiler:1.2.0-alpha06. Phiên bản 1.2.0-alpha06 bao gồm các thay đổi sau.

Phiên bản 1.2.0-alpha05

Ngày 9 tháng 3 năm 2022

Phát hành androidx.compose.compiler:compiler:1.2.0-alpha05. Phiên bản 1.2.0-alpha05 bao gồm các thay đổi sau.

Phiên bản 1.2.0-alpha04

Ngày 23 tháng 2 năm 2022

Phát hành androidx.compose.compiler:compiler:1.2.0-alpha04. Phiên bản 1.2.0-alpha04 bao gồm các thay đổi sau.

Phiên bản 1.2.0-alpha03

Ngày 9 tháng 2 năm 2022

Phát hành androidx.compose.compiler:compiler:1.2.0-alpha03. Phiên bản 1.2.0-alpha03 bao gồm các thay đổi sau.

Phiên bản 1.2.0-alpha02

Ngày 26 tháng 1 năm 2022

androidx.compose.compiler:compiler:1.2.0-alpha02 đã được phát hành. Phiên bản 1.2.0-alpha02 bao gồm các thay đổi sau.

Phiên bản 1.2.0-alpha01

Ngày 12 tháng 1 năm 2022

androidx.compose.compiler:compiler:1.2.0-alpha01 đã được phát hành. Phiên bản 1.2.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Đã thêm sự hỗ trợ cho 1.6.10 Kotlin.

Phiên bản 1.1

Phiên bản 1.1.1

Ngày 23 tháng 2 năm 2022

androidx.compose.compiler:compiler:1.1.1 đã được phát hành. Phiên bản 1.1.1 bao gồm các thay đổi sau.

Sửa lỗi

  • Sửa NullPointerException tại androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • Khắc phục sự cố do nội dung trong bảng nhớ tạm gây ra khi đọc từ bảng nhớ tạm trên Android. (I06020, b/197769306)
  • Sửa RTL ở LazyVerticalGrid (aosp/1931080, b/207510535)

Phiên bản 1.1.0

Ngày 9 tháng 2 năm 2022

Phát hành androidx.compose.compiler:compiler:1.1.0. Phiên bản 1.1.0 bao gồm các thay đổi sau.

Thay đổi quan trọng kể từ phiên bản 1.0.0

  • Hỗ trợ ổn định cho Hiệu ứng cuộn quá mức của Android 12
  • Những cải tiến đối với kích thước đích nhấn
  • Lưu ý rằng đối với phiên bản Compose 1.0, các thành phần Material sẽ mở rộng không gian bố cục để đáp ứng các nguyên tắc hỗ trợ tiếp cận Material cho kích thước mục tiêu cảm ứng Ví dụ: mục tiêu cảm ứng của nút sẽ mở rộng đến kích thước tối thiểu là 48x48dp, ngay cả khi bạn đặt kích thước Nút nhỏ hơn. Điều này giúp căn chỉnh Compose Material phù hợp với hành vi của Thành phần Material Design, tạo ra hành vi nhất quán khi kết hợp Chế độ xem và Compose. Thay đổi này cũng đảm bảo rằng khi bạn tạo giao diện người dùng bằng các thành phần Compose Material, các yêu cầu tối thiểu về hỗ trợ tiếp cận đích nhấn sẽ được đáp ứng.
  • Hỗ trợ ổn định cho Dải điều hướng (Navigation Rail)
  • Ổn định một số API thử nghiệm trước đây
  • Hỗ trợ các phiên bản Kotlin mới hơn

Phiên bản 1.1.0-rc03

Ngày 26 tháng 1 năm 2022

androidx.compose.compiler:compiler:1.1.0-rc03 đã được phát hành. Phiên bản 1.1.0-rc03 bao gồm các thay đổi sau.

Sửa lỗi

  • Cập nhật để hỗ trợ Compose Material 1.1.0-rc03

Phiên bản 1.1.0-rc02

Ngày 16 tháng 12 năm 2021

Phát hành androidx.compose.compiler:compiler:1.1.0-rc02. Phiên bản 1.1.0-rc02 bao gồm các thay đổi sau.

Thông tin cập nhật về phần phụ thuộc

  • Compose Trình biên dịch 1.1.0-rc02 tương thích với Kotlin 1.6.10.

Phiên bản 1.1.0-rc01

Ngày 15 tháng 12 năm 2021

androidx.compose.compiler:compiler:1.1.0-rc01 đã được phát hành. Phiên bản 1.1.0-rc01 bao gồm các thay đổi sau.

Các thay đổi về phần phụ thuộc

  • Compose Trình biên dịch 1.1.0-rc01 tương thích với Kotlin 1.6.0.
  • Bạn có thể sử dụng bản dựng 1.6.10 tương thích thông qua SNAPSHOT androidx.dev với buildId 8003490. Đoạn mã phụ thuộc sau sẽ định cấu hình SNAPSHOT cho Compose Trình biên dịch:

    Thêm đoạn mã sau vào tệp build.gradle gốc cho dự án của bạn:

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

    Thêm đoạn mã sau vào tệp build.gradle cho ứng dụng hoặc mô-đun của bạn có sử dụng Compose:

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

Phiên bản 1.1.0-beta04

Ngày 1 tháng 12 năm 2021

androidx.compose.compiler:compiler:1.1.0-beta04 đã được phát hành. Phiên bản 1.1.0-beta04 bao gồm các thay đổi sau.

Tính năng mới

  • Cập nhật để tương thích với 1.6.0 Kotlin

Phiên bản 1.1.0-beta03

Ngày 17 tháng 11 năm 2021

androidx.compose.compiler:compiler:1.1.0-beta03 đã được phát hành. Phiên bản 1.1.0-beta03 bao gồm các thay đổi sau.

Phiên bản 1.1.0-beta02

Ngày 3 tháng 11 năm 2021

androidx.compose.compiler:compiler:1.1.0-beta02 đã được phát hành. Phiên bản 1.1.0-beta02 bao gồm các thay đổi sau.

Phiên bản 1.1.0-beta01

Ngày 27 tháng 10 năm 2021

androidx.compose.compiler:compiler:1.1.0-beta01 đã được phát hành. Phiên bản 1.1.0-beta01 bao gồm các thay đổi sau.

Phiên bản 1.1.0-alpha06

Ngày 13 tháng 10 năm 2021

androidx.compose.compiler:compiler:1.1.0-alpha06 đã được phát hành. Phiên bản 1.1.0-alpha06 chứa các cam kết này.

Phiên bản 1.1.0-alpha05

Ngày 29 tháng 9 năm 2021

androidx.compose.compiler:compiler:1.1.0-alpha05 đã được phát hành. Phiên bản 1.1.0-alpha05 bao gồm các thay đổi sau.

Phiên bản 1.1.0-alpha04

Ngày 15 tháng 9 năm 2021

androidx.compose.compiler:compiler:1.1.0-alpha04 đã được phát hành. Phiên bản 1.1.0-alpha04 bao gồm các thay đổi sau.

Phiên bản 1.1.0-alpha03

Ngày 1 tháng 9 năm 2021

androidx.compose.compiler:compiler:1.1.0-alpha03 đã được phát hành. Phiên bản 1.1.0-alpha03 bao gồm các thay đổi sau.

Tính năng mới

  • Trình biên dịch soạn thư hiện hỗ trợ các phiên bản Thời gian chạy soạn thư cũ (1.0). Trước đó, Trình biên dịch soạn thư chỉ tương thích với Thời gian chạy soạn thư của cùng phiên bản trở lên. Sau khi thay đổi này, Trình biên dịch soạn thư tương thích với phiên bản cũ hơn của Thời gian chạy soạn (1.0). (aosp/1796968)
  • Cập nhật Compose 1.1.0-alpha03 để phụ thuộc vào Kotlin 1.5.30. (I74545)

Phiên bản 1.1.0-alpha02

Ngày 18 tháng 8 năm 2021

androidx.compose.compiler:compiler:1.1.0-alpha02 đã được phát hành. Phiên bản 1.1.0-alpha02 bao gồm các thay đổi sau.

Phiên bản 1.1.0-alpha01

Ngày 4 tháng 8 năm 2021

androidx.compose.compiler:compiler:1.1.0-alpha01 đã được phát hành. Phiên bản 1.1.0-alpha01 bao gồm các thay đổi sau.

Phiên bản 1.0

Phiên bản 1.0.5

Ngày 3 tháng 11 năm 2021

androidx.compose.compiler:compiler:1.0.5 đã được phát hành. Phiên bản 1.0.5 bao gồm các thay đổi sau.

Sửa lỗi

  • Khắc phục sự cố theo dõi các phiên bản derivedStateOf. (aosp/1792247)

Phiên bản 1.0.4

Ngày 13 tháng 10 năm 2021

androidx.compose.compiler:compiler:1.0.4 đã được phát hành. Phiên bản 1.0.4 bao gồm các thay đổi sau.

Thông tin cập nhật về phần phụ thuộc

  • Cập nhật để phụ thuộc vào Kotlin 1.5.31

Phiên bản 1.0.3

Ngày 29 tháng 9 năm 2021

androidx.compose.compiler:compiler:1.0.3 đã được phát hành. Phiên bản 1.0.3 bao gồm các thay đổi sau.

Thông tin cập nhật về phần phụ thuộc

  • Cập nhật để phụ thuộc vào Kotlin 1.5.30

Phiên bản 1.0.2

Ngày 1 tháng 9 năm 2021

Phát hành androidx.compose.compiler:compiler:1.0.2. Phiên bản 1.0.2 bao gồm các thay đổi sau.

Cập nhật để hỗ trợ bản phát hành Compose 1.0.2. Compose 1.0.2 vẫn tương thích với Kotlin 1.5.21.

Phiên bản 1.0.1

Ngày 4 tháng 8 năm 2021

androidx.compose.compiler:compiler:1.0.1 đã được phát hành. Phiên bản 1.0.1 bao gồm các thay đổi sau.

Thông tin cập nhật về phần phụ thuộc

  • Cập nhật để phụ thuộc vào Kotlin 1.5.21.

Phiên bản 1.0.0

Ngày 28 tháng 7 năm 2021

androidx.compose.compiler:compiler:1.0.0 đã được phát hành. Phiên bản 1.0.0 bao gồm các thay đổi sau.

Các tính năng chính của phiên bản 1.0.0

Đây là bản phát hành chính thức đầu tiên của ứng dụng Compose. Vui lòng xem blog về Bản phát hành Compose để biết thêm thông tin chi tiết!

Phiên bản 1.0.0-rc02

Ngày 14 tháng 7 năm 2021

androidx.compose.compiler:compiler:1.0.0-rc02 đã được phát hành. Phiên bản 1.0.0-rc02 bao gồm các thay đổi sau.

Phiên bản 1.0.0-rc01

Ngày 1 tháng 7 năm 2021

androidx.compose.compiler:compiler:1.0.0-rc01 đã được phát hành. Phiên bản 1.0.0-rc01 bao gồm các thay đổi sau.

Phiên bản 1.0.0-beta09

Ngày 16 tháng 6 năm 2021

androidx.compose.compiler:compiler:1.0.0-beta09 đã được phát hành. Phiên bản 1.0.0-beta09 bao gồm các thay đổi sau.

Phiên bản 1.0.0-beta08

Ngày 2 tháng 6 năm 2021

androidx.compose.compiler:compiler:1.0.0-beta08 đã được phát hành. Phiên bản 1.0.0-beta08 bao gồm các thay đổi sau.

Phiên bản 1.0.0-beta07

Ngày 18 tháng 5 năm 2021

androidx.compose.compiler:compiler:1.0.0-beta07 đã được phát hành. Phiên bản 1.0.0-beta07 bao gồm các thay đổi sau.

Phiên bản 1.0.0-beta06

Ngày 5 tháng 5 năm 2021

androidx.compose.compiler:compiler:1.0.0-beta06 đã được phát hành. Phiên bản 1.0.0-beta06 bao gồm các thay đổi sau.

Phiên bản 1.0.0-beta05

Ngày 21 tháng 4 năm 2021

androidx.compose.compiler:compiler:1.0.0-beta05 đã được phát hành. Phiên bản 1.0.0-beta05 bao gồm các thay đổi sau.

Phiên bản 1.0.0-beta04

Ngày 7 tháng 4 năm 2021

androidx.compose.compiler:compiler:1.0.0-beta04 đã được phát hành. Phiên bản 1.0.0-beta04 bao gồm các thay đổi sau.

Phiên bản 1.0.0-beta03

Ngày 24 tháng 3 năm 2021

androidx.compose.compiler:compiler:1.0.0-beta03 đã được phát hành. Phiên bản 1.0.0-beta03 bao gồm các thay đổi sau.

Phiên bản 1.0.0-beta02

Ngày 10 tháng 3 năm 2021

androidx.compose.compiler:compiler:1.0.0-beta02 đã được phát hành. Phiên bản 1.0.0-beta02 bao gồm các thay đổi sau.

Phiên bản 1.0.0-beta01

Ngày 24 tháng 2 năm 2021

androidx.compose.compiler:compiler:1.0.0-beta01 đã được phát hành. Phiên bản 1.0.0-beta01 bao gồm các thay đổi sau.

Đây là bản phát hành đầu tiên của Compose 1.0.0 Thử nghiệm beta.

Phiên bản 1.0.0-alpha12

Ngày 10 tháng Hai, 2021

androidx.compose.compiler:compiler:1.0.0-alpha12 đã phát hành. Phiên bản 1.0.0-alpha12 bao gồm các thay đổi sau.

Phiên bản 1.0.0-alpha11

Ngày 28 tháng Một, 2021

androidx.compose.compiler:compiler:1.0.0-alpha11 đã phát hành. Phiên bản 1.0.0-alpha11 bao gồm các thay đổi sau.

Phiên bản 1.0.0-alpha10

Ngày 13 tháng Một, 2021

androidx.compose.compiler:compiler:1.0.0-alpha10 đã phát hành. Phiên bản 1.0.0-alpha10 bao gồm các thay đổi sau.

Phiên bản 1.0.0-alpha09

Ngày 16 tháng Mười hai, 2020

androidx.compose.compiler:compiler:1.0.0-alpha09 đã phát hành. Phiên bản 1.0.0-beta09 bao gồm các thay đổi sau.

Phiên bản 1.0.0-alpha08

Ngày 2 tháng Mười hai, 2020

androidx.compose.compiler:compiler:1.0.0-alpha08 đã phát hành. Phiên bản 1.0.0-alpha08 bao gồm các thay đổi sau.

Phiên bản 1.0.0-alpha07

Ngày 11 tháng Mười một, 2020

androidx.compose.compiler:compiler:1.0.0-alpha07 đã phát hành. Phiên bản 1.0.0-alpha07 bao gồm các thay đổi sau.

Tính năng mới

  • Sự dự đoán và truyền tải ổn định. Trình bổ trợ biên dịch Compose sẽ phân tích các loại trình này biên dịch để dự đoán rằng liệu có đủ điều kiện để thực hiện một số hình thức tối ưu hoá nhất định theo thời gian chạy hay không. Kết quả dự đoán này sau đó được tổng hợp dưới dạng siêu dữ liệu vào lớp để trình biên dịch sử dụng trong các mô-đun khác. Ngoài ra, kết quả thời gian chạy của những lần dự đoán này cũng được truyền tới siêu dữ liệu gửi vào các lệnh gọi có thể kết hợp trong quá trình kết hợp. Việc này cần phải có một giao thức siêu dữ liệu khác cho các hàm có khả năng kết hợp, có nghĩa là các hàm có khả năng kết hợp được biên dịch bằng trình biên dịch alpha07 sẽ không tương thích nhị phân với các hàm có khả năng kết hợp được biên dịch thông qua bất kỳ phiên bản biên dịch nào trước đó. (aosp/1431988)

Phiên bản 1.0.0-alpha06

Ngày 28 tháng Mười, 2020

androidx.compose.compiler:compiler:1.0.0-alpha06 đã phát hành. Phiên bản 1.0.0-alpha06 bao gồm các thay đổi sau.

Phiên bản 1.0.0-alpha05

Ngày 14 tháng Mười, 2020

androidx.compose.compiler:compiler:1.0.0-alpha05 đã phát hành. Phiên bản 1.0.0-alpha05 bao gồm các thay đổi sau.

Phiên bản 1.0.0-alpha04

Ngày 1 tháng Mười, 2020

androidx.compose.compiler:compiler:1.0.0-alpha04 đã phát hành. Phiên bản 1.0.0-alpha04 bao gồm các thay đổi sau.

androidx.compose:compose-compiler đã được tái cấu trúc thành androidx.compose.compiler:compiler. Đây là bản phát hành đầu tiên trong nhóm mới.