Annotation

  
列出中繼資料,協助工具開發人員和其他開發人員瞭解應用程式的程式碼。

這個資料表會列出 androidx.annotation 群組中的所有構件。

構件 穩定版 候選版 Beta 版 Alpha 版
註解 1.5.0 - - 1.6.0-alpha02
annotation-experimental 1.3.0 - - -
本程式庫上次更新日期:2023 年 1 月 25 日

宣告依附元件

如果要為「註解」新增依附元件,您必須將 Google Maven 存放區新增至專案。詳情請參閱 Google 的 Maven 存放區

在應用程式或模組的 build.gradle 檔案中,新增所需構件的依附元件:

Groovy

dependencies {
    implementation "androidx.annotation:annotation:1.6.0-dev01"
    // To use the Java-compatible @Experimental API annotation
    implementation "androidx.annotation:annotation-experimental:1.4.0-dev01"
}

Kotlin

dependencies {
    implementation("androidx.annotation:annotation:1.6.0-dev01")
    // To use the Java-compatible @Experimental API annotation
    implementation("androidx.annotation:annotation-experimental:1.4.0-dev01")
}

如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。

意見回饋

您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。建立新的問題之前,請先查看這個程式庫中的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 文件

1.6 版

1.6.0-beta01 版本

2023 年 1 月 25 日

發布 androidx.annotation:annotation:1.6.0-beta01androidx.annotation:annotation-jvm:1.6.0-beta01,此兩版與 1.6.0-alpha01 沒有差別。

1.6.0-alpha01 版本

2023 年 1 月 11 日

發布 androidx.annotation:annotation-*:1.6.0-alpha01查看 1.6.0-alpha01 版的修訂項

新功能

  • 新增 @RequiresExtension 註解,表示 API 需要特定擴充功能 SDK 的指定版本 (I5e4fe)
  • 將註解程式庫轉換為使用 Kotlin Multiplatform 工具鍊進行建構 (I3be8d)

1.5.0 版本

1.5.0 版本

2022 年 9 月 21 日

androidx.annotation:annotation:1.5.0 發布。查看 1.5.0 版的修訂項

自 1.4.0 版本以來的重要異動

  • Annotation 程式庫已完全遷移至 Kotlin 來源,因此支援限定使用 Kotlin 的站點,以及其他與 Kotlin 相容的註解功能。

1.5.0-rc01 版本

2022 年 9 月 7 日

發布 androidx.annotation:annotation:1.5.0-rc01查看 1.5.0-rc01 版的修訂項

  • 自前一個 1.5.0 Beta 版起沒有任何異動。

1.5.0-beta01 版本

2022 年 8 月 24 日

發布 androidx.annotation:annotation:1.5.0-beta011.5.0-beta01 版本包含以下修訂項目

  • 與前一版相比沒有任何異動。API 介面已凍結,無法使用 Beta 版。

1.5.0-alpha02 版本

2022 年 8 月 10 日

發布 androidx.annotation:annotation:1.5.0-alpha021.5.0-alpha02 版本包含以下修訂項目。

  • 與上一個 Alpha 版本沒有差別。

1.5.0-alpha01 版本

2022 年 7 月 27 日

發布 androidx.annotation:annotation:1.5.0-alpha011.5.0-alpha01 版包含以下修訂項目。

新功能

  • Annotation 程式庫已完全遷移至 Kotlin 來源,因此支援限定使用 Kotlin 的站點,以及其他與 Kotlin 相容的註解功能。

1.4.0 版本

1.4.0 版本

2022 年 6 月 15 日

發布 androidx.annotation:annotation:1.4.01.4.0 版隨附這些修訂版。

自 1.3.0 版以來的重要異動

  • @RestrictTo 已遷移至 Kotlin 來源,現在支援 @file 使用網站。因此,註解程式庫現在取決於 Kotlin 標準程式庫。
  • @ReturnThis (b/140249763):確保此方法的覆寫方法必須傳回相同的執行個體 (適用於建構工具等)
  • @OpenForTesting (b/141539024):可以使用此註解對標示為「open」(開啟) 的 Kotlin 類別和方法加上備註,而 Lint 會確保此類別只能在單元測試中加入子類別 (並且只覆寫方法)
  • @DeprecatedSinceApi (b/37116481):代表加註的方法 (或類別/欄位) 是某個平台 API 向後移植程式庫的一部分,從指定的 API 級別開始將不再需要該方法。
  • @EmptySuper:代表該方法已定義為空白方法,因此在覆寫時不需要呼叫該方法 (您原本就不應這麼做;比如,其中可能包含回溯相容性檢查功能)。

1.4.0-rc01 版本

2022 年 6 月 1 日

釋出 androidx.annotation:annotation:1.4.0-rc011.4.0-rc01 版包含這些修訂版本。

  • API 的介面和功能已最終定案發行。

1.4.0-beta01 版本

2022 年 5 月 18 日

發布 androidx.annotation:annotation:1.4.0-beta011.4.0-beta01 版本包含這些修訂版本。

  • 自上一個 Alpha 版以來沒有任何變更。API 介面已鎖定,無法使用 Beta 版。

1.4.0-alpha02 版本

2022 年 2 月 9 日

發布 androidx.annotation:annotation:1.4.0-alpha021.4.0-alpha02 版包含以下修訂項目。

新功能

  • 已新增 @ReturnThis@OpenForTesting@EmptySuper@DeprecatedSinceApi 註解。(21946a2)

  • @ReturnThis (b/140249763):確保此方法的覆寫方法必須傳回相同的執行個體 (適用於建構工具等)

  • @OpenForTesting (b/141539024):可以使用此註解對標示為「open」(開啟) 的 Kotlin 類別和方法加上備註,而 Lint 會確保此類別只能在單元測試中加入子類別 (並且只覆寫方法)

  • @DeprecatedSinceApi (b/37116481):代表加註的方法 (或類別/欄位) 是某個平台 API 向後移植程式庫的一部分,從指定的 API 級別開始將不再需要該方法。

  • @EmptySuper:代表該方法已定義為空白方法,因此在覆寫時不需要呼叫該方法 (您原本就不應這麼做;比如,其中可能包含回溯相容性檢查功能)。

1.4.0-alpha01 版本

2021 年 12 月 15 日

androidx.annotation:annotation:1.4.0-alpha01 發布。查看 1.4.0-alpha01 版的修訂項

API 異動

  • RestrictTo 註解遷移至 Kotlin 來源 (Ia6336)

1.3.0 版本

1.3.0 版本

2021 年 11 月 3 日

androidx.annotation:annotation:1.3.0 發布。1.3.0 版包含以下修訂項目。

自 1.2.0 版以來的重要異動

  • 使用 @Discouraged 註解標記無法合理淘汰但會對效能產生負面影響,因此不應在一般實際工作環境程式碼中呼叫的 API
  • 使用 @Context 註解標記一般結構定義,方便開發人員以更輕鬆的方式遷移至新的 API
  • 使用 @GravityInt 註解標記元素,其中包含整數中已納入的重力值
  • 已淘汰 @InspectableProperty,改用 androidx.resourceinspection@Attribute

1.3.0-rc01 版本

2021 年 10 月 27 日

androidx.annotation:annotation:1.3.0-rc01 發布。1.3.0-rc01 版包含以下修訂項目。

1.3.0-beta01 版本

2021 年 9 月 29 日

androidx.annotation:annotation:1.3.0-beta01 發布。1.3.0-beta01 版包含以下修訂項目。

API 異動

  • @Discouraged 的「訊息」中需有說明。(I3390f)
  • 新增 @Discouraged 註解,用於標記不建議選取的元素。(Ib2549)
  • 在 Studio 文件彈出式視窗中顯示 RestrictTo 註解 (Ie8e1ab/183134648)

修正錯誤

  • 新增結構定義註解以標記一般結構定義,以便開發人員可以更輕鬆地遷移至新的 API。(Ie581a)

1.3.0-alpha01 版本

2021 年 3 月 24 日

androidx.annotation:annotation:1.3.0-alpha01 發布。1.3.0-alpha01 版包含以下修訂項目。

API 異動

  • 淘汰 @InspectableProperty,改用 androidx.resourceinspection 中的 @Attribute。(Ic0eff)
  • 已新增 @GravityInt 註解以標記元素,其中包含整數中已納入的重力值。(Ifcaa4b/180620048)

Annotation-Experimental 1.3.0 版本

1.3.0 版本

2022 年 9 月 7 日

發布 androidx.annotation:annotation-experimental:1.3.01.3.0 版包含以下修訂項目。

自 1.2.0 版以來的重要異動

  • 支援在套件層級使用 @androidx.annotation.OptIn (I24d58)
  • 已將 Kotlin stdlib 依附元件移至 API 類型,而不是僅編譯。這表示 Annotation-Experimental 程式庫的所有用戶端都會在其遞移依附元件內納入 Kotlin 標準程式庫。

1.3.0-rc01 版本

2022 年 8 月 24 日

發布 androidx.annotation:annotation-experimental:1.3.0-rc011.3.0-rc01 版本包含以下修訂項目

  • 與前一版相比沒有任何異動。RC 的實作功能已凍結。

1.3.0-beta01 版本

2022 年 8 月 10 日

發布 androidx.annotation:annotation-experimental:1.3.0-beta01查看 1.3.0-beta01 版的修訂項

  • Alpha 版本沒有任何變更。此程式庫已穩定用於 Beta 版。

1.3.0-alpha01 版本

2022 年 7 月 27 日

發布 androidx.annotation:annotation-experimental:1.3.0-alpha011.3.0-alpha01 版包含以下修訂項目。

API 異動

  • 支援在套件層級使用 @androidx.annotation.OptIn (I24d58)

Annotation-Experimental 1.2.0 版本

1.2.0 版本

2021 年 12 月 15 日

androidx.annotation:annotation-experimental:1.2.0 發布。1.2.0 版包含以下修訂項目。

自 1.1.0 版本以來的重要異動

此程式庫現已指定 Java 8 語言層級。

1.2.0-rc01 版本

2021 年 12 月 1 日

androidx.annotation:annotation-experimental:1.2.0-rc01 發布。1.2.0-rc01 版包含這些修訂版本。

Beta 版沒有任何變更。

1.2.0-beta01 版本

2021 年 11 月 17 日

已釋出 androidx.annotation:annotation-experimental:1.2.0-beta011.2.0-beta01 版包含這些修訂版本。

API 異動

API 已推出 Beta 版。

Annotation-Experimental 1.2.0-alpha01 版本

2021 年 6 月 30 日

androidx.annotation:annotation-experimental:1.2.0-alpha01 發布。1.2.0-alpha01 版包含以下修訂項目。

新功能

  • 程式庫現已指定 Java 8 語言層級

1.2.0 版本

1.2.0 版本

2021 年 3 月 24 日

androidx.annotation:annotation:1.2.0 發布。1.2.0 版包含以下修訂項目。

自 1.1.0 版本以來的重大異動

  • 已新增 @ChecksSdkIntAtLeast 註解,可用於識別用於限制 SDK 層級存取權限的方法或欄位,並確保符合 NewApi Lint 檢查。
  • 新增 @DoNotInline 註解,可與 Proguard 規則搭配使用,避免成員在最佳化期間遭到內嵌。
  • 多種註解現在都會以 @Documented 加註,確保註解會在加註成員的文件中顯示。

1.2.0-rc01 版本

2021 年 2 月 24 日

androidx.annotation:annotation:1.2.0-rc01 發布。1.2.0-rc01 版包含這些修訂版本。

1.2.0-beta01 版本

2021 年 1 月 13 日

androidx.annotation:annotation:1.2.0-beta01 發布。1.2.0-beta01 版包含這些修訂版本。

API 異動

  • 新增 @DoNotInline 註解,可指示程式碼最佳化工具 (例如 Proguard、R8) 不要內嵌加註的方法。(I3dfe8, b/141326133)

1.2.0-alpha01 版本

2020 年 5 月 14 日

androidx.annotation:annotation:1.2.0-alpha01 發布。1.2.0-alpha01 版包含以下修訂項目。

新功能

  • 已新增 @ChecksSdkIntAtLeast 註解。也就是說,Androidx 和使用者可以針對代表 SDK_INT 檢查的方法和欄位加上註解。(I89a54b/120255046)

Annotation-Experimental 1.1.0 版本

1.1.0 版本

2021 年 4 月 7 日

androidx.annotation:annotation-experimental:1.1.0 發布。1.1.0 版本包含以下修訂項目。

自 1.0.0 版以來的重大異動

  • Jetpack 的實驗註解已在 Kotlin 中改寫,以支援多個標記類別和改善的淘汰處理。
  • 為達到與 Kotlin 的一致,已新增 RequiresOptInOptIn 註解,且已淘汰 ExperimentalUsesExperimental 註解。

1.1.0-rc02 版本

2021 年 3 月 24 日

androidx.annotation:annotation-experimental:1.1.0-rc02 發布。1.1.0-rc02 版本包含這些修訂項目。

修正錯誤

  • 已新增 Proguard 規則,確保程式碼最佳化不會發出缺少 Kotlin 中繼註解的警告。

1.1.0-rc01 版本

2021 年 3 月 10 日

androidx.annotation:annotation-experimental:1.1.0-rc01 發布。1.1.0-rc01 版包含這些修訂版本。

自 Beta 版以來沒有異動。

1.1.0-beta01 版本

2021 年 1 月 27 日

androidx.annotation:annotation-experimental:1.1.0-beta01 發布。1.1.0-beta01 版包含以下修訂項目。

API 異動

  • 淘汰實驗性註解的 AndroidX 變化版本,以與 Kotlin 保持一致性。由 RequiresOptIn 註解的 AndroidX 變化版本取代,而支援 Java 的 Linter 則已更新為同時支援新的 Kotlin 註解和新的 AndroidX 變化版本。(I52495b/151331381)

1.1.0-alpha01 版本

2020 年 7 月 22 日

androidx.annotation:annotation-experimental:1.1.0-alpha01 發布。1.1.0-alpha01 版包含以下修訂項目。

新功能

  • 實驗性註解資料庫現在是以 Kotlin 編寫,但不需要納入 Kotlin 標準程式庫做為依附元件。此包含 Proguard 檔案,允許只使用 Java 程式設計語言的專案移除不必要的 Kotlin 中繼資料。
  • @UseExperimental 現在支援多種標記類別 (aosp/1185577b/145137892)

Annotation-Experimental 1.0.0 版本

Annotation-Experimental 1.0.0 版本

2019 年 11 月 7 日

發布 androidx.annotation:annotation-experimental:1.0.0androidx.annotation:annotation-experimental-lint:1.0.0,此兩版與 1.0.0-rc01 沒有差別。1.0.0 版含有這些修訂版本

1.0.0 的主要功能

  • 在 Java 原始碼中以 Lint 強制執行 Kotlin @Experimental 語意
  • Java 註解可提供與 Kotlin 的 @Experimental@UseExperimental 註解相同的功能,不需要依賴 Kotlin

Annotation-Experimental 1.0.0-rc01 版本

2019 年 10 月 23 日

androidx.annotation:annotation-experimental:1.0.0-rc01androidx.annotation:annotation-experimental-lint:1.0.0-rc01 發布。查看 1.0.0-rc01 版的修訂項

已知問題

使用 Studio 3.5 穩定版時,IDE 中不會因 Kotlin @Experimental 註解的 Java 使用方式無效,而顯示 @Experimental 使用 Lint 偵測工具的警告。請見 b/140640322.

Annotation-Experimental 1.0.0-beta01 版本

2019 年 10 月 9 日

androidx.annotation:annotation-experimental:1.0.0-beta01androidx.annotation:annotation-experimental-lint:1.0.0-beta01 發布,且自 1.0.0-alpha01 版以來皆無異動。查看 1.0.0-beta01 版的修訂項

Annotation-Experimental 1.0.0-alpha01 版本

2019 年 9 月 18 日

androidx.annotation:annotation-experimental:1.0.0-alpha01androidx.annotation:annotation-experimental-lint:1.0.0-alpha01 發布。前者是 annotation-experimental 1.0.0-alpha01 版本中包含的修訂項目,而後者是 annotation-experimental-lint 1.0.0-alpha01 版本中包含的修訂項目

新功能

  • Jetpack 實驗性註解資料庫提供與 Java 相容的 Kotlin 實驗性 API 標記實作。-lint 構件會限制使用基於 Lint 實作的實驗,同時限制 Kotlin 原生實驗性 API 標記對 Java 的使用。

  • 使用 annotation-experimental 構件做為依附元件時,系統會自動強制執行 annotation-experimental-lint 構件提供的 Lint 規則。

1.1.0 版本

1.1.0 版本

2019 年 6 月 5 日

androidx.annotation:annotation:1.1.0 發布,且自 1.1.0-rc01 以來皆無異動。

1.1.0-rc01 版本

2019 年 5 月 7 日

androidx.annotation:annotation:1.1.0-rc01 發布,且自 1.1.0-beta01 版以來皆無異動。您可以前往這個頁面查看該版本的修訂項。

1.1.0-beta01 版本

2019 年 4 月 3 日

androidx.annotation:annotation:1.1.0-beta01 發布。您可以前往這裡查看這個版本包含的修訂版本。

新功能

  • 新增 @InspectableProperty 註解,以支援在 Android 10 中新增的檢視畫面檢查 API。此註解可以套用至檢視畫面或其他 UI 元素中的 getter。程式碼產生工具可能會使用此註解建立夥伴模式物件,以將屬性名稱和屬性 ID 對應至屬性值,而不會產生反射負載。

API 異動

  • 破壞性變更:@ContentView 已變更為建構函式註解,且 @LayoutRes 值已移除。要支援 @ContentView 註解的類別,則應將此註解新增至採用 @LayoutRes int 參數的建構函式。在資料庫模組中使用此註解時,這可修正發生的問題。(b/128352521)

1.1.0-alpha02 版本

2019 年 3 月 13 日

androidx.annotation:annotation:1.1.0-alpha02 發布。您可以前往這裡查看這個版本包含的修訂版本完整清單。

新功能

  • 新的 API 限制範圍:RestrictTo.Scope.LIBRARY_GROUP_PREFIX。這個方法會限制在套件中,使用同一組程式庫群組前置字串至最後 . (句號) 的套件程式碼用量。舉例來說,由於 foo.bar:lib1foo.baz:lib2 程式庫共用 foo 前置字串,因此可使用彼此限定於該範圍內的 API。同樣的,com.foo.bar:lib1com.foo.baz:lib2 共用 com.foo. 前置字串,並可共用受該範圍限制的 API。不過,com.bar.qux:lib3 程式庫無法使用受限制的 API,因為這個程式庫只共用了 com. 前置字串,而最後一個 . (句號) 之前的部分不完全相同。

1.1.0-alpha01 版本

2019 年 1 月 30 日

androidx.annotation:annotation 1.1.0-alpha01 發布。

新功能

  • 新增 @ContentView 註解,可讓您指定要加載哪一個版面配置 XML 檔案。ComponentActivity 1.0.0-alpha04 版和 Fragment 1.1.0-alpha04 版支援此功能,此功能可在這兩種程式庫中分別做為使用 setContentView() 或覆寫 onCreateView() 的替代方法。(aosp/837619)

1.0.2 版本

1.0.2 版本

2019 年 2 月 25 日

androidx.annotation:annotation 1.0.2 發布。

修正錯誤

  • 修正 jar 中內嵌的 R8/ProGuard 規則。過去這些規則以錯誤的方式參考舊的 android.support.annotation 類型,而不是 androidx.annotation。注意:只有在您未使用 getDefaultProguardFile 的情況下,這項設定才會對版本產生影響,因為這些預設規則也包含這兩個套件的正確規則。(aosp/891685)
  • 新增 R8/ProGuard 規則,並明確保留 @Keep 註解本身。這樣可確保 ProGuard 在移除語意前,不會將註解從類型中移除。注意:只有在您未使用 getDefaultProguardFile 的情況下,這項設定才會對版本產生影響,因為這些預設規則也包含這兩個套件的正確規則。(aosp/903818)