Compose Compiler
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 8 月 7 日 | 1.5.15 | - | - | - |
結構
Compose 是由 androidx
中的 7 個 Maven 群組 ID 所組成。每個群組都包含一個指定功能子集,且各有一組專屬的版本資訊。
下表提供各群組的說明和每組版本資訊的連結。
群組 | 說明 |
---|---|
compose.animation | 在 Jetpack Compose 應用程式中建構動畫,提供豐富的使用者體驗。 |
compose.compiler | 透過 Kotlin 編譯器外掛程式轉換 @Composable 函式,並啟用最佳化功能。 |
compose.foundation | 透過現成的構成元素編寫 Jetpack Compose 應用程式,然後進一步擴充基礎,建構出自己的設計系統元件。 |
compose.material | 運用現成的 Material Design 元件建構 Jetpack Compose UI。這是更高層級的 Compose 進入點,用意是確保提供的元件與 www.material.io 上所述元件相符。 |
compose.material3 | 運用新一代的 Material Design 3 元件建構 Jetpack Compose UI。Material 3 提供新的主題設定和元件,以及動態色彩等 Material You 個人化功能,可呼應全新的 Android 12 視覺風格和系統 UI。 |
compose.runtime | Compose 程式設計模型和狀態管理的基本構成元素,以及 Compose Compiler 外掛程式指定的核心執行階段。 |
compose.ui | 與裝置互動所需的 Compose UI 基礎元件,包括版面配置、繪圖及輸入。 |
宣告依附元件
如要新增 Compose 的依附元件,必須將 Google Maven 存放區新增至您的專案。詳情請參閱「Google 的 Maven 存放區」一節。
在應用程式或模組的 build.gradle
檔案中,新增所需構件的依附元件:
Groovy
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" } }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
1.5 版本
1.5.15 版
2024 年 8 月 7 日
發布 androidx.compose.compiler:compiler:1.5.15
和 androidx.compose.compiler:compiler-hosted:1.5.15
。1.5.15 版包含這些修訂版本。
- 這個編譯器版本以 Kotlin 1.9.25 為目標。
1.5.14 版
2024 年 5 月 14 日
發布 androidx.compose.compiler:compiler:1.5.14
和 androidx.compose.compiler:compiler-hosted:1.5.14
。1.5.14 版包含這些修訂版本。
這個編譯器版本以 Kotlin 1.9.24 為目標。
修正錯誤
- 確保在來源資訊關閉時能實現內嵌主體。(Idddb8)。
1.5.13 版
2024 年 5 月 1 日
發布 androidx.compose.compiler:compiler:1.5.13
和 androidx.compose.compiler:compiler-hosted:1.5.13
。1.5.13 版包含這些修訂版本。
新功能
- 高強度略過已不屬於實驗性質,因此適合用於實際工作環境。而在日後推出的版本中,該設定將成為預設行為。(I6c8c4)。
修正錯誤
- 針對包含預設值且正在包裝非原始值的
@Composable
函式,修正其二進位檔相容性問題。(I89465)。 - 針對 Compose 多平台的 JS 和原生編譯進行上游修正。如需完整詳細資料,請參閱上方的修訂版本範圍。
1.5.12 版
2024 年 4 月 17 日
發布 androidx.compose.compiler:compiler:1.5.12
和 androidx.compose.compiler:compiler-hosted:1.5.12
。1.5.12 版包含這些修訂版本。
修正錯誤
1.5.11 版
March 20, 2024
發布 androidx.compose.compiler:compiler:1.5.11
和 androidx.compose.compiler:compiler-hosted:1.5.11
。1.5.11 版包含這些修訂版本。
注意事項
從這個版本開始,當模組使用包含這個方法的執行階段編譯時,編譯器現在會呼叫
startReplaceGroup
,而非startReplacableGroup
。startReplaceGroup
是在執行階段於 Compose 執行階段1.7.0-alpha03
中導入。只有在指定 1.7.0-alpha03 以上版本的執行階段版本時,才會產生對startRestartGroup
的呼叫。呼叫
startReplaceGroup
而不是startReplaceableGroup
,可讓執行階段更有效率地偵測變更,但可能會影響Composer
偵測到變更並傳送至Applier
的順序。如果Applier
依賴偵測到這些作業的順序,這可能導致行為出現細微變化。
新功能
- 支援 Kotlin 1.9.23
修正錯誤
- 修正系統將巢狀外部泛型類型推論為不穩定的問題。(I3437f、b/327643787)
- 支援多個穩定性設定檔。(I8db14、b/325326744)
- 現在 Compose Compiler 現在可以以遞迴方式瀏覽基本類別/覆寫,正確轉換遭到覆寫的函式。(I2c9f9、b/316196500)
- 確保當函式參照備忘錄未直接使用時,不會嘗試擷取本機宣告的隱含父項。(Ib1267)。
- 修正可組合項跨內嵌 lambda 產生程式碼的問題 (在未啟用「nonSkippingGroupOptimization」的情況下,很難發生這項錯誤)。(Icb2fd、b/325502738)
1.5.10 版
2024 年 2 月 21 日
發布 androidx.compose.compiler:compiler:1.5.10
和 androidx.compose.compiler:compiler-hosted:1.5.10
。1.5.10 版包含以下修訂項目。
修正錯誤
- 支援在 init 區塊內使用即時常值。(b/320397488)。
- 使用調度工具參數檢查函式是否位於本機類別內 (b/323123439)
1.5.9 版
2024 年 2 月 7 日
發布 androidx.compose.compiler:compiler:1.5.9
和 androidx.compose.compiler:compiler-hosted:1.5.9
。1.5.9 版包含以下修訂項目。
修正錯誤
- 修正匿名物件初始化器中的可組合函式呼叫。(b/320261458、96315c)
- 將遞迴本機宣告計算為擷取次數。(b/318745941、e7b4b0)
- 透過內建函式 remember 針對函式類型強制 .changed,修正與 Java 方法描述相關的內建函式 remember 變更行為。(b/319810819、77128e)
- 新增了實驗性最佳化功能,可針對無法略過的函式移除群組 (例如明確標示為
@NonSkippableComposable
),以及隱含設為禁止略過的函式。這類內嵌函式和會傳回非單位值的函式,例如remember
。 - 傳遞外掛程式選項即可啟用這項最佳化功能
-P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true
給 Kotlin 編譯器(I1688f)。
1.5.8 版
2024 年 1 月 10 日
發布 androidx.compose.compiler:compiler:1.5.8
和 androidx.compose.compiler:compiler-hosted:1.5.8
。1.5.8 版包含以下修訂項目。
新功能
- 支援 Kotlin 1.9.22
修正錯誤
- 修正使用 Java21 建構時,Compose Compiler 建構擲回例外狀況的錯誤。使用 Google Maven 的 Compose Compiler (即不是自行建構) 的使用者,絕對不會受到這項錯誤影響。(b/316644294)。
- 修正某些非內嵌 lambda 呼叫端回報
COMPOSABLE_EXPECTED
錯誤的錯誤。(b/309364913)。 - 為開啟函式中的預設參數新增編譯錯誤 (先前僅限於抽象函式)。Compose 目前不支援從已覆寫的函式中替換預設參數,而且在執行階段覆寫包含預設參數的可組合函式。使用
@Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE")
可隱藏,但請注意,如果沒有為參數提供預設值覆寫這類函式,將會導致執行階段異常終止 (b/317490247)。 - 修正內建記憶功能錯誤,導致值無法正確傳播的錯誤。(b/316327367)。
外部貢獻
- 修正文件的錯字。(aosp/288106)。
1.5.7 版
2023 年 12 月 19 日
發布 androidx.compose.compiler:compiler:1.5.7
和 androidx.compose.compiler:compiler-hosted:1.5.7
。1.5.7 版包含以下修訂項目。
修正錯誤
- 修正當
remember()
鍵參數叫用可組合函式時,Compose 執行階段當機的問題 (b/315855015) - 修正使用
return@
時的 Compose 執行階段當機問題。(b/315821171)。 - 避免在記憶金鑰中使用絕對路徑,這麼做可以提高建構快取使用率。(b/313937484)。
1.5.6 版本
2023 年 12 月 6 日
發布 androidx.compose.compiler:compiler:1.5.6
和 androidx.compose.compiler:compiler-hosted:1.5.6
。1.5.6 版包含以下修訂項目。
新功能
- 支援 Kotlin 1.9.21
修正錯誤
- 啟用內建函式記憶 - 編譯器轉換會在 Compose 編譯器外掛程式中記憶,並將
.equals
比較替換為穩定參數參數中繼的整數比較。這可降低使用的運算單元數量,以及執行階段的比較結果。如要停用這個選項,請提供編譯器外掛程式引數:-Pplugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false
。(If675f)。 - 修正調整函式參照和內嵌引數的記憶。(b/312738720)。
- 退出內嵌函式呼叫時將群組初始化 (b/312242547)
外部貢獻
- 修正 k/native 和 k/wasm 執行階段因為可組合函式中缺少回傳敘述而發生當機的問題 (如果這是最後一個陳述式,並傳回空值的常數 (aosp/2835716)
1.5.5 版本
2023 年 11 月 29 日
發布 androidx.compose.compiler:compiler:1.5.5
和 androidx.compose.compiler:compiler-hosted:1.5.5
。1.5.5 版包含以下修訂項目。
修正錯誤
- 修正查詢覆寫的可組合函式類型時發生當機的問題 (Ib6d2c、b/297665426)
- 將
stabilityConfigurationPath
新增至已知參數 (先前曾出現錯誤,導致無法使用設定檔標記)。(b/309765121)。 - 回憶修正 (I081d1、I4d7bf)
- 透過計算內建記憶中不確定性的參數狀態,進行重組修正 (b/263402091)
- 修正內建 remember 的偵錯行資訊問題 (Ic8cf5)
- 修正在編譯時間查詢覆寫可組合項類型時造成當機 (IR 降低失敗) (b/297665426)
- 將
外部貢獻
- 使用引數總結穩定的函式參照 (I4d7bf、b/302680514)
1.5.4 版本
2023 年 11 月 7 日
發布 androidx.compose.compiler:compiler:1.5.4
和 androidx.compose.compiler:compiler-hosted:1.5.4
。1.5.4 版包含以下修訂項目。
依附元件更新
- Compose Compiler 現在與 Kotlin 1.9.20 相容
新功能
- 新增實驗性選項以啟用嚴格略過模式。同步略過模式會略過含有不穩定參數的可組合項。 此外,我們也總結了採用不穩定擷取方式的 lambda。這項功能仍在實驗階段,尚未準備好在實際工作環境中使用。(22421e)。
- 新增標記以啟用/停用來源/追蹤記錄資訊。(4d45f09)。
- 允許透過設定檔設定外部類別的穩定性。(If40eb)。
修正錯誤
- 修正在未收集來源資訊的情況下,可組合函式提早結束的問題。(fe6267)。
- 修正可組合函式的接續問題。(948362)。
- 修正從函式叫用中叫用可組合函式時的解析方式,該函式包含多個依賴運算式傳回類型的超載。(2d36d0)。
- 修正函式參照沒有調度接收器時的備忘錄。(fc2326)。
- 修正在某些情況下導致 lambda 無法重組的骯髒檢查。(db3699)。
- 修正逐步編譯跨模組時的穩定性。(7d3e127)。
- 將
@DontMemoize
的範圍縮減為僅限 lambda 運算式。(7a7fa52)。 - 修正以 lambda 形式使用可組合有趣的介面時,無法正確擷取變數的問題。(5ae3556)。
外部貢獻
- 使用結構等式符號比較數字和空值 (c612a0)
1.5.3 版本
2023 年 8 月 29 日
發布 androidx.compose.compiler:compiler:1.5.3
、androidx.compose.compiler:compiler-daemon:1.5.3
和 androidx.compose.compiler:compiler-hosted:1.5.3
。1.5.3 版包含以下修訂項目。
依附元件更新
- Kotlin 版本已更新至 1.9.10 版
1.5.2 版本
2023 年 8 月 23 日
發布 androidx.compose.compiler:compiler:1.5.2
、androidx.compose.compiler:compiler-daemon:1.5.2
和 androidx.compose.compiler:compiler-hosted:1.5.2
。1.5.2 版包含以下修訂項目。
修正錯誤
- 在持續傳回的可組合函式中,插入傳回陳述式的行數。(I42d89)。
- 修正切換至新編譯器外掛程式進入點造成的記憶體流失問題。(4f0a101)。
- 停止在 Compose 編譯器中轉換無法組合的有趣介面。這會導致趣味介面的處理方式與 lambda 相同,包括記錄規則。(28b3ce9)。
- 使用 vararg 引數類型來推斷呼叫網站的穩定性。(bc83645)。
1.5.1 版本
2023 年 7 月 26 日
發布 androidx.compose.compiler:compiler:1.5.1
、androidx.compose.compiler:compiler-daemon:1.5.1
和 androidx.compose.compiler:compiler-hosted:1.5.1
。1.5.1 版包含以下修訂項目。
修正錯誤
- 修正
@ReadOnlyComposable
函式中的組合追蹤事件標記,並提早傳回導致追蹤記錄損毀的情形。
1.5.0 版本
2023 年 7 月 18 日
發布 androidx.compose.compiler:compiler:1.5.0
、androidx.compose.compiler:compiler-daemon:1.5.0
和 androidx.compose.compiler:compiler-hosted:1.5.0
。1.5.0 版包含以下修訂項目。
實驗性 K2 支援
- Compose 編譯器 1.5.0 提供對 K2 編譯器的實驗性支援。K2 尚未支援部分 Compose 功能,且日後的編譯器版本將支援這項功能。
自 1.4.0 版以來的重要異動
- Kotlin 版本已更新至 1.9.0 版。
@Composable
lambda 呼叫的已命名引數已淘汰,這項功能需要使用內部編譯器 API,K2 並不支援這項功能。- 新增診斷資訊,以驗證預期/實際呼叫中的
@Composable
註解。這兩個宣告應有相符的註解。
1.4.8 版
1.4.8 版
2023 年 6 月 28 日
發布 androidx.compose.compiler:compiler:1.4.8
、androidx.compose.compiler:compiler-daemon:1.4.8
和 androidx.compose.compiler:compiler-hosted:1.4.8
。1.4.8 版包含以下修訂項目。
新功能
- 目標 Kotlin 編譯器版本已更新為 1.8.22。
修正錯誤
- 已改善
@Composable
覆寫功能的錯誤訊息。現在可正確指出註解不相符的問題。 - 當內嵌 lambda 不應標示為可組合的冗餘
@Composable
註解時,系統會顯示警告。K2 編譯器不支援這項功能。
1.4.7 版
1.4.7 版
2023 年 5 月 3 日
發布 androidx.compose.compiler:compiler:1.4.7
、androidx.compose.compiler:compiler-daemon:1.4.7
和 androidx.compose.compiler:compiler-hosted:1.4.7
。1.4.7 版包含以下修訂項目。
新功能
- 支援 Kotlin 1.8.21
- 新增了
State
API 的原始版本,以便在State
物件中追蹤 Int、Long、Float 和 Double 值,而不會產生自動加上黑邊的懲處。
1.4.6 版本
1.4.6 版本
2023 年 4 月 19 日
發布 androidx.compose.compiler:compiler:1.4.6
、androidx.compose.compiler:compiler-daemon:1.4.6
和 androidx.compose.compiler:compiler-hosted:1.4.6
。1.4.6 版包含以下修訂項目。
修正錯誤
- Compose Compiler 現在依附於 Java11 (而非 Compose Compiler 1.4.5 版所需的 Java17),以便為仍在使用舊版 Java 的使用者提供更完善的支援。
1.4.5 版本
1.4.5 版本
2023 年 4 月 12 日
發布 androidx.compose.compiler:compiler:1.4.5
、androidx.compose.compiler:compiler-daemon:1.4.5
和 androidx.compose.compiler:compiler-hosted:1.4.5
。1.4.5 版包含以下修訂項目。
注意事項 這個版本的 Compose Compiler 需要您的建構環境使用 Java 17 以上版本。為了更妥善地支援舊版 Java 的使用者,我們根據使用者意見決定將這項規定改回 Java 11,並進行後續版本 (1.4.6)。
新功能
支援 Kotlin 1.8.20
修正錯誤
- 將可組合項叫用運算子覆寫要求,覆寫以使用相應註解擴充 lambda 介面的類別和介面。f8f2f78a1a769c2373201027f12700e772e4e97e
- 允許在
getValue
運算子上使用@Composable
註解,並在 IR 中將為委派代表產生的 getter 標示為可組合元件,確保之後正確轉換。f174f6ee60ca957d5cb6d19a5bd02a88267cdf40 - 修正內嵌函式的內部 Compose 執行階段錯誤 (原本應該呼叫
applyChanges()
)。b/274786923 - 避免擷取
ProcessCancelledException
,因為該物件在 IDE 中具有特殊意義。b/274725600
外部貢獻
- 改善對 Kotlin/Native 可組合函式的支援。f52b6aeed22400dd4f4a4f05559a9aa42642402c
1.4.4 版
1.4.4 版
2023 年 3 月 22 日
發布 androidx.compose.compiler:compiler:1.4.4
、androidx.compose.compiler:compiler-daemon:1.4.4
和 androidx.compose.compiler:compiler-hosted:1.4.4
。1.4.4 版包含以下修訂項目。
修正錯誤
1.4.3 版本
1.4.3 版本
2023 年 2 月 22 日
發布 androidx.compose.compiler:compiler:1.4.3
。1.4.3 版本包含這些修訂版本。
修正錯誤
- 修正可組合函式呼叫引數中的條件式可組合函式呼叫 (Ie93edb)
1.4.2 版
1.4.2 版
2023 年 2 月 8 日
發布 androidx.compose.compiler:compiler:1.4.2
。1.4.2 版本包含這些修訂版本。
新功能
- 支援 Kotlin 1.8.10
修正錯誤
- 在不可略過的 lambda 主體中新增群組,避免重組錯誤。
1.4.1 版本
1.4.1 版本
2023 年 2 月 8 日
發布 androidx.compose.compiler:compiler:1.4.1
。1.4.1 版本包含這些修訂版本。
修正錯誤
- 停用內建函式 remember 最佳化功能,因為這在先前造成了一些程式碼產生錯誤。
- 針對含有 vararg 參數的函式停用內建函式 remember。
- 修正使用預設參數的可組合項出現的錯誤略過問題。
- 新增在 Kotlin 相容性檢查失敗時顯示的防禦性備用錯誤訊息。
- 移除內嵌 lambda 產生的略過程式碼。
1.4.0 版本
2023 年 1 月 17 日
發布 androidx.compose.compiler:compiler:1.4.0
。1.4.0 版包含此連結所列的修訂項目。
自 1.3.0 版以來的重要異動
- 支援 Kotlin 1.8.0
- 關閉 Intrinsic Remember
- UI 工具資料類別
Group
現在有一個isInline
欄位,指出群組是否用於呼叫內嵌的可組合函式。如果isInline
是true
,呼叫目標即為內嵌的可組合函式。不過,如果呼叫目標為來自模組的內嵌可組合函式,而且這些模組的編譯方式採用不會產生內嵌函式資訊的 Compose Compiler 外掛程式版本,那麼這個值可能會是 false ImmutableCollection
及其永久性同層級現已穩定。AnimatedContent
中的工具標籤新參數- 修正內嵌 lambda 程式碼產生錯誤
1.4.0-alpha02 版
2022 年 11 月 11 日
發布 androidx.compose.compiler:compiler:1.4.0-alpha02
。查看 1.4.0-alpha02 版的修訂項。
新功能
- 新增了對 Kotlin
1.7.21
的支援
1.4.0-alpha01 版
2022 年 11 月 9 日
發布 androidx.compose.compiler:compiler:1.4.0-alpha01
。1.4.0-alpha01 版包含此連結所列的修訂項目。
修正錯誤
- 修正提前從內嵌可組合函式傳回的功能 (b/255350755)
- 修正在 Compose 中 Kotlin/JS 支援中斷的 decoy 降低錯誤 (6a40f8)。
1.3 版
1.3.2 版
2022 年 10 月 4 日
發布 androidx.compose.compiler:compiler:1.3.2
。查看 1.3.2 版的修訂項。
新功能
- 這個版包含 Kotlin 1.7.20 版更新
1.3.1 版
2022 年 9 月 7 日
發布 androidx.compose.compiler:compiler:1.3.1
。查看 1.3.1 版的修訂項。
修正錯誤
- 修正
IllegalStateException
在部分情況下 Compose Compiler 錯誤地將單元類型標示為可組合項的問題 (b/237863365)。 - 略過編譯器版本檢查時,使用者現在必須指定偏好的 Kotlin 版 (I9e5e2)
1.3.0 版
2022 年 8 月 10 日
發布 androidx.compose.compiler:compiler:1.3.0
。查看 1.3.0 版的修訂項。
1.3.0-rc02 版
2022 年 8 月 3 日
發布 androidx.compose.compiler:compiler:1.3.0-rc02
。查看 1.3.0-rc02 版的修訂項。
1.3.0-rc01 版
2022 年 7 月 27 日
發布 androidx.compose.compiler:compiler:1.3.0-rc01
。查看 1.3.0-rc01 版的修訂項。
1.3.0-beta01 版
2022 年 7 月 20 日
發布 androidx.compose.compiler:compiler:1.3.0-beta01
。1.3.0-beta01 版包含以下修訂項目。
新功能
- 新增了對 Kotlin
1.7.10
的支援
1.2 版
1.2.0 版
2022 年 6 月 29 日
發布 androidx.compose.compiler:compiler:1.2.0
。1.2.0 版包含此連結所列的修訂項目。
自 1.1.0 版以來的重要異動
- 支援 Kotlin 1.7.0
- 請參閱我們的網誌文章,瞭解 Compose 新的 Compose Compiler 版本管理策略。
1.2.0-rc02 版
2022 年 6 月 22 日
發布 androidx.compose.compiler:compiler:1.2.0-rc02
。查看 1.2.0-rc02 版的修訂項。
修正錯誤
- 移除了可組合項追蹤事件程式碼產生功能 (aosp/2127922)
1.2.0-rc01 版
2022 年 6 月 15 日
發布 androidx.compose.compiler:compiler:1.2.0-rc01
。查看 1.2.0-rc01 版的修訂項。
1.2.0-beta03 版
2022 年 6 月 1 日
發布 androidx.compose.compiler:compiler:1.2.0-beta03
。1.2.0-beta03 版包含此連結所列的修訂項目。
1.2.0-beta02 版
2022 年 5 月 18 日
發布 androidx.compose.compiler:compiler:1.2.0-beta02
。1.2.0-beta02 版包含此連結所列的修訂項目。
1.2.0-beta01 版
2022 年 5 月 11 日
發布 androidx.compose.compiler:compiler:1.2.0-beta01
。查看 1.2.0-beta01 版的修訂項。
- 這是 1.2 版的第一個 Beta 版!自上次 Alpha 版以來沒有任何變更。
新功能
- 新增了對 Kotlin
1.6.21
的支援
1.2.0-alpha08 版
2022 年 4 月 20 日
發布 androidx.compose.compiler:compiler:1.2.0-alpha08
。查看 1.2.0-alpha08 版的修訂項。
1.2.0-alpha07 版
2022 年 4 月 6 日
發布 androidx.compose.compiler:compiler:1.2.0-alpha07
。查看 1.2.0-alpha07 版的修訂項。
1.2.0-alpha06 版
2022 年 3 月 23 日
發布 androidx.compose.compiler:compiler:1.2.0-alpha06
。1.2.0-alpha06 版包含此連結所列的修訂項目。
1.2.0-alpha05 版
2022 年 3 月 9 日
發布 androidx.compose.compiler:compiler:1.2.0-alpha05
。查看 1.2.0-alpha05 版的修訂項。
1.2.0-alpha04 版
2022 年 2 月 23 日
發布 androidx.compose.compiler:compiler:1.2.0-alpha04
。查看 1.2.0-alpha04 版的修訂項。
1.2.0-alpha03 版
2022 年 2 月 9 日
發布 androidx.compose.compiler:compiler:1.2.0-alpha03
。查看 1.2.0-alpha03 版的修訂項。
1.2.0-alpha02 版
2022 年 1 月 26 日
發布 androidx.compose.compiler:compiler:1.2.0-alpha02
。1.2.0-alpha02 版包含此連結所列的修訂項目。
1.2.0-alpha01 版
2022 年 1 月 12 日
發布 androidx.compose.compiler:compiler:1.2.0-alpha01
。1.2.0-alpha01 版包含此連結所列的修訂項目。
新功能
- 新增了對 Kotlin
1.6.10
的支援。
1.1 版
1.1.1 版
2022 年 2 月 23 日
發布 androidx.compose.compiler:compiler:1.1.1
。1.1.1 版包含此連結所列的修訂項目。
修正錯誤
- 修正
androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
中的NullPointerException
(aosp/1947059、b/206677462) - 修正在 Android 上讀取剪貼簿時,由剪貼簿內容造成的當機問題 (I06020、b/197769306)
- 修正
LazyVerticalGrid
中的 RTL (aosp/1931080、b/207510535)
1.1.0 版
2022 年 2 月 9 日
發布 androidx.compose.compiler:compiler:1.1.0
。查看 1.1.0 版的修訂項。
自 1.0.0 版以來的重要變更
- 穩定支援 Android 12 的過度捲動效果
- 改善觸控目標縮放功能
- 請注意,為配合 Compose 1.0,Material Design 元件會擴大版面配置空間,以符合 Material Design 針對觸控目標尺寸所制訂的無障礙功能準則。舉例來說,即使您將觸控目標按鈕的尺寸設定為小於最小尺寸
48x48dp
,系統仍會將按鈕擴大為這個尺寸。這樣一來,Compose Material 的行為就會與 Material Design 元件相同,在混用 Views 和 Compose 時便可確保行為一致。利用 Compose Material 元件建立使用者介面時,這項異動還能確保達到觸控目標無障礙功能的最低要求。 - 穩定支援導覽邊欄
- 將先前推出的一些實驗性 API 升級為穩定版
- 支援更新版本的 Kotlin
1.1.0-rc03 版
2022 年 1 月 26 日
發布 androidx.compose.compiler:compiler:1.1.0-rc03
。1.1.0-rc03 版包含此連結所列的修訂項目。
修正錯誤
- 更新為可支援 Compose Material 1.1.0-rc03
1.1.0-rc02 版
2021 年 12 月 16 日
發布 androidx.compose.compiler:compiler:1.1.0-rc02
。查看 1.1.0-rc02 版的修訂項。
依附元件更新
- Compose Compiler
1.1.0-rc02
與 Kotlin1.6.10
相容。
1.1.0-rc01 版
2021 年 12 月 15 日
發布 androidx.compose.compiler:compiler:1.1.0-rc01
。查看 1.1.0-rc01 版的修訂項。
依附元件變更
- Compose Compiler
1.1.0-rc01
與 Kotlin1.6.0
相容。 相容的
1.6.10
版本可透過buildId
8003490 的 androidx.dev SNAPSHOT 取得。下列依附元件程式碼片段可為 Compose Compiler 設定 SNAPSHOT。請將以下程式碼片段加入專案根層級的
build.gradle
檔案中:buildscript { repositories { google() jcenter() maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' } } }
針對使用 Compose 的應用程式或模組,將以下程式碼片段加入
build.gradle
檔案中:android { composeOptions { kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT" } }
1.1.0-beta04 版
2021 年 12 月 1 日
發布 androidx.compose.compiler:compiler:1.1.0-beta04
。查看 1.1.0-beta04 版的修訂項。
新功能
- 更新為可與 Kotlin
1.6.0
相容
1.1.0-beta03 版
2021 年 11 月 17 日
發布 androidx.compose.compiler:compiler:1.1.0-beta03
。1.1.0-beta03 版包含此連結所列的修訂項目。
1.1.0-beta02 版
2021 年 11 月 3 日
發布 androidx.compose.compiler:compiler:1.1.0-beta02
。查看 1.1.0-beta02 版的修訂項。
1.1.0-beta01 版
2021 年 10 月 27 日
發布 androidx.compose.compiler:compiler:1.1.0-beta01
。1.1.0-beta01 版包含此連結所列的修訂項目。
1.1.0-alpha06 版
2021 年 10 月 13 日
發布 androidx.compose.compiler:compiler:1.1.0-alpha06
。查看 1.1.0-alpha06 版的修訂項。
1.1.0-alpha05 版
2021 年 9 月 29 日
發布 androidx.compose.compiler:compiler:1.1.0-alpha05
。1.1.0-alpha05 版包含此連結所列的修訂項目。
1.1.0-alpha04 版
2021 年 9 月 15 日
發布 androidx.compose.compiler:compiler:1.1.0-alpha04
。1.1.0-alpha04 版包含此連結所列的修訂項目。
1.1.0-alpha03 版
2021 年 9 月 1 日
發布 androidx.compose.compiler:compiler:1.1.0-alpha03
。1.1.0-alpha03 版包含此連結所列的修訂項目。
新功能
- Compose Compiler 現在支援舊版的 Compose Runtime (1.0)。在這項變更之前,Compose Compiler 只能與相同或後續版本的 Compose Runtime 相容。這項變更生效後,Compose Compiler 就能與舊版的 Compose Runtime (1.0) 相容 (aosp/1796968)
- 已更新 Compose
1.1.0-alpha03
,使其依附 Kotlin1.5.30
。(I74545)
1.1.0-alpha02 版
2021 年 8 月 18 日
發布 androidx.compose.compiler:compiler:1.1.0-alpha02
。1.1.0-alpha02 版包含此連結所列的修訂項目。
1.1.0-alpha01 版
2021 年 8 月 4 日
發布 androidx.compose.compiler:compiler:1.1.0-alpha01
。1.1.0-alpha01 版包含此連結所列的修訂項目。
1.0 版
1.0.5 版
2021 年 11 月 3 日
發布 androidx.compose.compiler:compiler:1.0.5
。1.0.5 版包含此連結所列的修訂項目。
修正錯誤
- 修正追蹤 derivedStateOf 例項時的異常終止問題 (aosp/1792247)。
1.0.4 版
2021 年 10 月 13 日
發布 androidx.compose.compiler:compiler:1.0.4
。1.0.4 版包含此連結所列的修訂項目。
依附元件更新
- 已更新為依附 Kotlin
1.5.31
1.0.3 版
2021 年 9 月 29 日
發布 androidx.compose.compiler:compiler:1.0.3
。1.0.3 版包含此連結所列的修訂項目。
依附元件更新
- 已更新為依附 Kotlin
1.5.30
1.0.2 版
2021 年 9 月 1 日
發布 androidx.compose.compiler:compiler:1.0.2
。1.0.2 版包含此連結所列的修訂項目。
更新為支援 Compose 1.0.2
版。Compose 1.0.2
仍與 Kotlin 1.5.21
相容。
1.0.1 版
2021 年 8 月 4 日
發布 androidx.compose.compiler:compiler:1.0.1
。1.0.1 版包含此連結所列的修訂項目。
依附元件更新
- 已更新為依附 Kotlin
1.5.21
。
1.0.0 版
2021 年 7 月 28 日
發布 androidx.compose.compiler:compiler:1.0.0
。1.0.0 版包含此連結所列的修訂項目。
1.0.0 的主要功能
這是 Compose 的第一個穩定版本。如需詳細資訊,請參閱官方的「Compose 版本網誌」!
1.0.0-rc02 版
2021 年 7 月 14 日
發布 androidx.compose.compiler:compiler:1.0.0-rc02
。查看 1.0.0-rc02 版的修訂項。
1.0.0-rc01 版
2021 年 7 月 1 日
發布 androidx.compose.compiler:compiler:1.0.0-rc01
。1.0.0-rc01 版包含此連結所列的修訂項目。
1.0.0-beta09 版
2021 年 6 月 16 日
發布 androidx.compose.compiler:compiler:1.0.0-beta09
。1.0.0-beta09 版包含此連結所列的修訂項目。
1.0.0-beta08 版
2021 年 6 月 2 日
發布 androidx.compose.compiler:compiler:1.0.0-beta08
。1.0.0-beta08 版包含此連結所列的修訂項目。
1.0.0-beta07 版
2021 年 5 月 18 日
發布 androidx.compose.compiler:compiler:1.0.0-beta07
。1.0.0-beta07 版包含此連結所列的修訂項目。
1.0.0-beta06 版
2021 年 5 月 5 日
發布 androidx.compose.compiler:compiler:1.0.0-beta06
。1.0.0-beta06 版包含以下修訂項目。
1.0.0-beta05 版
2021 年 4 月 21 日
發布 androidx.compose.compiler:compiler:1.0.0-beta05
。查看 1.0.0-beta05 版的修訂項。
1.0.0-beta04 版
2021 年 4 月 7 日
發布 androidx.compose.compiler:compiler:1.0.0-beta04
。查看 1.0.0-beta04 版的修訂項。
1.0.0-beta03 版
2021 年 3 月 24 日
發布 androidx.compose.compiler:compiler:1.0.0-beta03
。1.0.0-beta03 版包含此連結所列的修訂項目。
1.0.0-beta02 版
2021 年 3 月 10 日
發布 androidx.compose.compiler:compiler:1.0.0-beta02
。查看 1.0.0-beta02 版的修訂項。
1.0.0-beta01 版
2021 年 2 月 24 日
發布 androidx.compose.compiler:compiler:1.0.0-beta01
。1.0.0-beta01 版包含此連結所列的修訂項目。
這是 Compose 1.0.0 Beta 版的第一個版本。
1.0.0-alpha12 版
2021 年 2 月 10 日
發布 androidx.compose.compiler:compiler:1.0.0-alpha12
。1.0.0-alpha12 版包含此連結所列的修訂項目。
1.0.0-alpha11 版
2021 年 1 月 28 日
發布 androidx.compose.compiler:compiler:1.0.0-alpha11
。查看 1.0.0-alpha11 版的修訂項。
1.0.0-alpha10 版
2021 年 1 月 13 日
發布 androidx.compose.compiler:compiler:1.0.0-alpha10
。查看 1.0.0-alpha10 版的修訂項。
1.0.0-alpha09 版
2020 年 12 月 16 日
發布 androidx.compose.compiler:compiler:1.0.0-alpha09
。查看 1.0.0-alpha09 版的修訂項。
1.0.0-alpha08 版
2020 年 12 月 2 日
發布 androidx.compose.compiler:compiler:1.0.0-alpha08
。1.0.0-alpha08 版包含此連結所列的修訂項目。
1.0.0-alpha07 版
2020 年 11 月 11 日
發布 androidx.compose.compiler:compiler:1.0.0-alpha07
。查看 1.0.0-alpha07 版的修訂項。
新功能
- 穩定性推論與傳播。Compose Compiler 外掛程式會分析要進行編譯的類型,以便在進入執行階段前推斷是否能執行特定的最佳化功能。接著將推論結果合成為類別的中繼資料,供其他模組中的編譯器使用。此外,這些推論的執行階段結果會透過中繼資料,於組合期間傳送至可組合的呼叫。這會導致需要針對可組合函式使用不同的中繼資料通訊協定,也就是說,使用 Alpha07 編譯器與使用舊版編譯器進行編譯的可組合函式,兩者不具二進位檔相容性。(aosp/1431988)
1.0.0-alpha06 版
2020 年 10 月 28 日
發布 androidx.compose.compiler:compiler:1.0.0-alpha06
。查看 1.0.0-alpha06 版的修訂項。
1.0.0-alpha05 版
2020 年 10 月 14 日
發布 androidx.compose.compiler:compiler:1.0.0-alpha05
。查看 1.0.0-alpha05 版的修訂項。
1.0.0-alpha04 版
2020 年 10 月 1 日
發布 androidx.compose.compiler:compiler:1.0.0-alpha04
。1.0.0-alpha04 版包含此連結所列的修訂項目。
androidx.compose:compose-compiler
已重構為 androidx.compose.compiler:compiler
。這是新群組中的第一個版本。