Compose Compiler

透過 Kotlin 編譯器外掛程式轉換 @Composable 函式,並啟用最佳化功能。
最近更新時間 穩定版 候選版 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.runtimeCompose 程式設計模型和狀態管理的基本構成元素,以及 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.15androidx.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.14androidx.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.13androidx.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.12androidx.compose.compiler:compiler-hosted:1.5.12。1.5.12 版包含這些修訂項目

修正錯誤

  • 修正 Kotlin 1.9.23 的漸進式編譯問題。(Ifca55)。
  • 修正非原始內嵌類別的值參數中非空值類型。(Ie6bb5)

1.5.11 版

March 20, 2024

發布 androidx.compose.compiler:compiler:1.5.11androidx.compose.compiler:compiler-hosted:1.5.11。1.5.11 版包含這些修訂項目

注意事項

  • 從這個版本開始,如果模組是使用包含此方法的執行階段編譯,編譯器現在會呼叫 startReplaceGroup 而非 startReplacableGroupstartReplaceGroup 是在 Compose 執行階段 1.7.0-alpha03的執行階段中引入。只有在指定 1.7.0-alpha03 以上版本的執行階段時,才會產生對 startRestartGroup 的呼叫。

  • 呼叫 startReplaceGroup 而非 startReplaceableGroup 可讓執行階段更有效率地偵測變更,但可能會影響 Composer 偵測變更並傳送至 Applier 的順序。如果 Applier 依賴偵測這些作業的順序,這可能會導致行為發生細微變化。

新功能

  • 支援 Kotlin 1.9.23

修正錯誤

  • 修正巢狀外部泛型類型被推斷為不穩定的情況。(I3437fb/327643787)。
  • 支援多個穩定性設定檔。(I8db14b/325326744)。
  • Compose Compiler 現在會透過遞迴方式逐一檢查基礎類別/覆寫項目,正確轉換覆寫函式。(I2c9f9b/316196500)。
  • 請確認函式參照備忘功能不會在未直接使用本機宣告時,嘗試擷取本機宣告的隱含父項。(Ib1267)
  • 修正可組合跨行 lambda 的程式碼產生問題 (如果未啟用「nonSkippingGroupOptimization」,就很難遇到這個錯誤)。(Icb2fdb/325502738)。

1.5.10 版

2024 年 2 月 21 日

發布 androidx.compose.compiler:compiler:1.5.10androidx.compose.compiler:compiler-hosted:1.5.101.5.10 版包含以下修訂項目。

修正錯誤

  • 支援在初始化區塊中使用即時文字。(b/320397488)。
  • 使用調度器參數檢查函式是否位於本機類別中 (b/323123439)

1.5.9 版

2024 年 2 月 7 日

發布 androidx.compose.compiler:compiler:1.5.9androidx.compose.compiler:compiler-hosted:1.5.91.5.9 版包含以下修訂項目。

修正錯誤

  • 修正匿名物件初始化器中的可組合項呼叫。(b/32026145896315c)
  • 將遞迴本機宣告計為擷取項目。(b/318745941e7b4b0)。
  • 針對內建函式記錄,強制使用 .changed 為函式類型,以修正與 Java 方法參照相關的內建函式記錄變更行為。(b/31981081977128e)
  • 新增實驗性最佳化功能,可移除無法略過的函式群組,例如明確標示為 @NonSkippableComposable 的函式,以及隱含無法略過的函式,例如內嵌函式和傳回非 Unit 值的函式,例如 remember
  • 您可以將外掛程式選項 -P plugin:androidx.compose.compiler.plugins.kotlin:nonSkippingGroupOptimization=true 傳遞至 Kotlin 編譯器,啟用這項最佳化功能。(I1688f)。

1.5.8 版

2024 年 1 月 10 日

發布 androidx.compose.compiler:compiler:1.5.8androidx.compose.compiler:compiler-hosted:1.5.81.5.8 版包含以下修訂項目。

新功能

  • 支援 Kotlin 1.9.22

修正錯誤

  • 修正使用 Java21 建構時,Compose 編譯器建構作業會擲回例外狀況的錯誤。使用 Google Maven 的 Compose 編譯器 (即未自行建構) 的使用者不會受到這個錯誤的影響。(b/316644294)。
  • 修正在某些非內嵌 lambda 呼叫端會回報 COMPOSABLE_EXPECTED 錯誤的錯誤。(b/309364913)
  • 針對開放式函式中的預設參數新增編譯錯誤 (先前僅限於抽象函式)。Compose 目前不支援取代函式中的預設參數替代作業,且在執行階段使用預設參數覆寫可組合函式時會失敗。請使用 @Suppress("ABSTRACT_COMPOSABLE_DEFAULT_PARAMETER_VALUE") 進行抑制,但請注意,如果覆寫此類函式但未提供參數的預設值,就會導致執行階段發生當機 (b/317490247)。
  • 修正內建函式 remember 中的錯誤,該錯誤會導致值無法正確傳播。(b/316327367)

外部貢獻

1.5.7 版

2023 年 12 月 19 日

發布 androidx.compose.compiler:compiler:1.5.7androidx.compose.compiler:compiler-hosted:1.5.71.5.7 版包含以下修訂項目。

修正錯誤

  • 修正 remember() 鍵參數叫用 Composable 函式時,Compose 執行階段當機的問題 (b/315855015)
  • 修正使用 return@ 時 Compose 執行階段發生的當機問題。(b/315821171)
  • 請勿在 memoization 鍵中使用絕對路徑,以便更有效地利用版本快取。(b/313937484)

1.5.6 版

2023 年 12 月 6 日

發布 androidx.compose.compiler:compiler:1.5.6androidx.compose.compiler:compiler-hosted:1.5.61.5.6 版包含以下修訂項目。

新功能

  • 支援 Kotlin 1.9.21

修正錯誤

  • 啟用內建函式 remember:此編譯器轉換作業會在 Compose 編譯器外掛程式中內嵌 remember,並將 .equals 比較作業,替換為穩定參數參數中介資料的 int 比較作業。這會導致執行階段使用的運算單元和比較項目減少。您可以提供編譯器外掛程式引數 -P plugin:androidx.compose.compiler.plugins.kotlin:intrinsicRemember=false 來停用這個選項。(If675f)
  • 修正已調整函式參照和內嵌引數的備忘功能。(b/312738720)。
  • 在退出內嵌函式呼叫時實現群組 (b/312242547)

外部貢獻

  • 修正 k/native 和 k/wasm 執行階段當機問題,原因是當 Composable 函式為最後一個陳述式且傳回空值常數時,會缺少傳回陳述式 (aosp/2835716)

1.5.5 版本

2023 年 11 月 29 日

發布 androidx.compose.compiler:compiler:1.5.5androidx.compose.compiler:compiler-hosted:1.5.51.5.5 版包含以下修訂項目。

修正錯誤

  • 修正在查詢覆寫的組合類型時發生的異常終止問題 (Ib6d2cb/297665426)
    • stabilityConfigurationPath 新增至已知參數 (先前的錯誤會導致無法使用設定檔標記)。(b/309765121)
    • 備忘功能修正 (I081d1I4d7bf)
    • 重新組合修正,考量內建記錄中不確定的參數狀態 (b/263402091)
    • 修正內建記住功能的偵錯行資訊 (Ic8cf5)
    • 修正在編譯期間查詢覆寫的可組合類型時發生的當機問題 (IR 降低失敗) (b/297665426)

外部貢獻

1.5.4 版本

2023 年 11 月 7 日

發布 androidx.compose.compiler:compiler:1.5.4androidx.compose.compiler:compiler-hosted:1.5.41.5.4 版包含以下修訂項目。

依附元件更新

  • Compose Compiler 現在支援 Kotlin 1.9.20

新功能

  • 新增實驗性選項,啟用嚴格略過模式。嚴格略過模式可略過含有不穩定參數的可組合項。此外,具有不穩定擷取的 lambda 會儲存為快取。這項功能仍在實驗階段,不建議用於正式環境。(22421e)
  • 新增標記,以啟用/停用來源/追蹤資訊。(4d45f09)
  • 允許透過設定檔設定外部類別的穩定性。(If40eb)

修正錯誤

  • 修正在未收集來源資訊的情況下,從可組合函式提早退出的問題。(fe6267)
  • 修正可組合函式的 continue 問題。(948362)。
  • 修正在函式呼叫中,從具有多個依賴運算式傳回類型的超載函式中,呼叫可組合函式的解析。(2d36d0)。
  • 修正函式參照未有調度接收器時的備忘功能。(fc2326)。
  • 修正在某些情況下,導致無法重新組合 lambda 的髒值檢查。(db3699)。
  • 修正跨模組逐漸編譯時的穩定性。(7d3e127)。
  • @DontMemoize 的範圍縮小到僅限 lambda 運算式。(7a7fa52)
  • 修正使用可組合函式介面做為 lambda 時,無法正確擷取變數的問題。(5ae3556)

外部貢獻

  • 使用結構等式符號比較數值和空值 (c612a0)

1.5.3 版本

2023 年 8 月 29 日

發布 androidx.compose.compiler:compiler:1.5.3androidx.compose.compiler:compiler-daemon:1.5.3androidx.compose.compiler:compiler-hosted:1.5.31.5.3 版包含以下修訂項目。

依附元件更新

  • Kotlin 版本已更新至 1.9.10

1.5.2 版本

2023 年 8 月 23 日

發布 androidx.compose.compiler:compiler:1.5.2androidx.compose.compiler:compiler-daemon:1.5.2androidx.compose.compiler:compiler-hosted:1.5.21.5.2 版包含以下修訂項目。

修正錯誤

  • 在常數傳回的可組合函式中插入回傳陳述式的行號。(I42d89)。
  • 修正切換至新編譯器外掛程式進入點所造成的記憶體流失問題。(4f0a101)
  • 停止在 Compose 編譯器中轉換非可組合式 fun 介面。這會導致系統以與 lambda 相同的方式處理 fun 介面,包括 memoization 規則。(28b3ce9)
  • 使用 vararg 引數類型,以便在呼叫網站上推斷穩定性。(bc83645)

1.5.1 版本

2023 年 7 月 26 日

發布 androidx.compose.compiler:compiler:1.5.1androidx.compose.compiler:compiler-daemon:1.5.1androidx.compose.compiler:compiler-hosted:1.5.11.5.1 版包含此連結所列的修訂項目。

修正錯誤

  • 修正 @ReadOnlyComposable 函式中因提早傳回而導致追蹤記錄損毀的組合追蹤記錄事件標記。

1.5.0 版本

2023 年 7 月 18 日

發布 androidx.compose.compiler:compiler:1.5.0androidx.compose.compiler:compiler-daemon:1.5.0androidx.compose.compiler:compiler-hosted:1.5.01.5.0 版包含以下修訂版本。

實驗性 K2 支援

  • Compose Compiler 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.8androidx.compose.compiler:compiler-daemon:1.4.8androidx.compose.compiler:compiler-hosted:1.4.81.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.7androidx.compose.compiler:compiler-daemon:1.4.7androidx.compose.compiler:compiler-hosted:1.4.71.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.6androidx.compose.compiler:compiler-daemon:1.4.6androidx.compose.compiler:compiler-hosted:1.4.61.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.5androidx.compose.compiler:compiler-daemon:1.4.5androidx.compose.compiler:compiler-hosted:1.4.51.4.5 版包含以下修訂版本。

注意:這個版本的 Compose Compiler 要求您的建構環境使用 Java 17 以上版本。根據使用者的意見回饋,我們將把這項要求改為 Java 11,並在後續推出另一個版本 (1.4.6),以便更好地支援使用舊版 Java 的使用者。

新功能

支援 Kotlin 1.8.20

修正錯誤

  • 將可組合式叫用運算子的覆寫要求,傳播至使用相應註解擴充 lambda 介面的類別和介面。f8f2f78a1a769c2373201027f12700e772e4e97e
  • 允許在 getValue 運算子上使用 @Composable 註解,並將委派函式產生的 getter 標示為 IR 中的可組合函式,以確保日後能正確轉換。f174f6ee60ca957d5cb6d19a5bd02a88267cdf40
  • 修正內嵌函式內部 Compose 執行階段錯誤 (預期已呼叫 applyChanges())。b/274786923
  • 避免擷取 ProcessCancelledException,因為它在 IDE 中具有特殊意義。b/274725600

外部貢獻

1.4.4 版

1.4.4 版

2023 年 3 月 22 日

發布 androidx.compose.compiler:compiler:1.4.4androidx.compose.compiler:compiler-daemon:1.4.4androidx.compose.compiler:compiler-hosted:1.4.41.4.4 版包含以下修訂版本。

修正錯誤

  • 修正可組合內嵌 lambda 傳回值 (72172b)
  • 允許可組合函式傳回 Nothing (在可組合函式中使用 TODO 時,請勿產生錯誤) 3aea8d)

1.4.3 版本

1.4.3 版本

2023 年 2 月 22 日

發布 androidx.compose.compiler:compiler:1.4.31.4.3 版本包含這些修訂版本。

修正錯誤

  • 修正可組合函式呼叫的引數中,出現條件式可組合函式的情況 (Ie93edb)

1.4.2 版

1.4.2 版

2023 年 2 月 8 日

發布 androidx.compose.compiler:compiler:1.4.21.4.2 版本包含這些修訂版本。

新功能

  • 支援 Kotlin 1.8.10

修正錯誤

  • 在不可略過的 lambda 主體中新增群組,避免重組錯誤。

1.4.1 版本

1.4.1 版本

2023 年 2 月 8 日

發布 androidx.compose.compiler:compiler:1.4.11.4.1 版本包含這些修訂版本。

修正錯誤

  • 停用內建函式 remember 最佳化功能,因為這在先前造成了一些程式碼產生錯誤。
  • 針對含有 vararg 參數的函式停用內建函式 remember。
  • 修正使用預設參數的可組合項出現的錯誤略過問題。
  • 新增在 Kotlin 相容性檢查失敗時顯示的防禦性備用錯誤訊息。
  • 移除內嵌 lambda 產生的略過程式碼。

1.4.0 版本

2023 年 1 月 17 日

發布 androidx.compose.compiler:compiler:1.4.01.4.0 版包含此連結所列的修訂項目

自 1.3.0 版以來的重要異動

  • 支援 Kotlin 1.8.0
  • 關閉 Intrinsic Remember
  • UI 工具資料類別 Group 現在有一個 isInline 欄位,指出群組是否用於呼叫內嵌的可組合函式。如果 isInlinetrue,呼叫目標即為內嵌的可組合函式。不過,如果呼叫目標為來自模組的內嵌可組合函式,而且這些模組的編譯方式採用不會產生內嵌函式資訊的 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-alpha011.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-beta011.3.0-beta01 版包含以下修訂項目。

新功能

  • 新增了對 Kotlin 1.7.10 的支援

1.2 版

1.2.0 版

2022 年 6 月 29 日

發布 androidx.compose.compiler:compiler:1.2.01.2.0 版包含此連結所列的修訂項目。

自 1.1.0 版以來的重要異動

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-beta031.2.0-beta03 版包含此連結所列的修訂項目。

1.2.0-beta02 版

2022 年 5 月 18 日

發布 androidx.compose.compiler:compiler:1.2.0-beta021.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-alpha061.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-alpha021.2.0-alpha02 版包含此連結所列的修訂項目。

1.2.0-alpha01 版

2022 年 1 月 12 日

發布 androidx.compose.compiler:compiler:1.2.0-alpha011.2.0-alpha01 版包含此連結所列的修訂項目。

新功能

  • 新增了對 Kotlin 1.6.10 的支援。

1.1 版

1.1.1 版

2022 年 2 月 23 日

發布 androidx.compose.compiler:compiler:1.1.11.1.1 版包含此連結所列的修訂項目。

修正錯誤

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-rc031.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 與 Kotlin 1.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 與 Kotlin 1.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-beta031.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-beta011.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-alpha051.1.0-alpha05 版包含此連結所列的修訂項目。

1.1.0-alpha04 版

2021 年 9 月 15 日

發布 androidx.compose.compiler:compiler:1.1.0-alpha041.1.0-alpha04 版包含此連結所列的修訂項目。

1.1.0-alpha03 版

2021 年 9 月 1 日

發布 androidx.compose.compiler:compiler:1.1.0-alpha031.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,使其依附 Kotlin 1.5.30。(I74545)

1.1.0-alpha02 版

2021 年 8 月 18 日

發布 androidx.compose.compiler:compiler:1.1.0-alpha021.1.0-alpha02 版包含此連結所列的修訂項目。

1.1.0-alpha01 版

2021 年 8 月 4 日

發布 androidx.compose.compiler:compiler:1.1.0-alpha011.1.0-alpha01 版包含此連結所列的修訂項目。

1.0 版

1.0.5 版

2021 年 11 月 3 日

發布 androidx.compose.compiler:compiler:1.0.51.0.5 版包含此連結所列的修訂項目。

修正錯誤

  • 修正追蹤 derivedStateOf 例項時的異常終止問題 (aosp/1792247)。

1.0.4 版

2021 年 10 月 13 日

發布 androidx.compose.compiler:compiler:1.0.41.0.4 版包含此連結所列的修訂項目。

依附元件更新

  • 已更新為依附 Kotlin 1.5.31

1.0.3 版

2021 年 9 月 29 日

發布 androidx.compose.compiler:compiler:1.0.31.0.3 版包含此連結所列的修訂項目。

依附元件更新

  • 已更新為依附 Kotlin 1.5.30

1.0.2 版

2021 年 9 月 1 日

發布 androidx.compose.compiler:compiler:1.0.21.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.11.0.1 版包含此連結所列的修訂項目。

依附元件更新

  • 已更新為依附 Kotlin 1.5.21

1.0.0 版

2021 年 7 月 28 日

發布 androidx.compose.compiler:compiler:1.0.01.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-rc011.0.0-rc01 版包含此連結所列的修訂項目。

1.0.0-beta09 版

2021 年 6 月 16 日

發布 androidx.compose.compiler:compiler:1.0.0-beta091.0.0-beta09 版包含此連結所列的修訂項目。

1.0.0-beta08 版

2021 年 6 月 2 日

發布 androidx.compose.compiler:compiler:1.0.0-beta081.0.0-beta08 版包含此連結所列的修訂項目。

1.0.0-beta07 版

2021 年 5 月 18 日

發布 androidx.compose.compiler:compiler:1.0.0-beta071.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-beta031.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-beta011.0.0-beta01 版包含此連結所列的修訂項目。

這是 Compose 1.0.0 Beta 版的第一個版本。

1.0.0-alpha12 版

2021 年 2 月 10 日

發布 androidx.compose.compiler:compiler:1.0.0-alpha121.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-alpha081.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-alpha041.0.0-alpha04 版包含此連結所列的修訂項目。

androidx.compose:compose-compiler 已重構為 androidx.compose.compiler:compiler。這是新群組中的第一個版本。