Annotation
這個資料表會列出 androidx.annotation
群組中的所有構件。
構件 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
註解 | 1.5.0 | - | - | 1.6.0-alpha02 |
annotation-experimental | 1.3.0 | - | - | - |
宣告依附元件
如果要為「註解」新增依附元件,您必須將 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-beta01
和 androidx.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-beta01
。1.5.0-beta01 版本包含以下修訂項目。
- 與前一版相比沒有任何異動。API 介面已凍結,無法使用 Beta 版。
1.5.0-alpha02 版本
2022 年 8 月 10 日
發布 androidx.annotation:annotation:1.5.0-alpha02
。1.5.0-alpha02 版本包含以下修訂項目。
- 與上一個 Alpha 版本沒有差別。
1.5.0-alpha01 版本
2022 年 7 月 27 日
發布 androidx.annotation:annotation:1.5.0-alpha01
。1.5.0-alpha01 版包含以下修訂項目。
新功能
- Annotation 程式庫已完全遷移至 Kotlin 來源,因此支援限定使用 Kotlin 的站點,以及其他與 Kotlin 相容的註解功能。
1.4.0 版本
1.4.0 版本
2022 年 6 月 15 日
發布 androidx.annotation:annotation:1.4.0
。1.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-rc01
。1.4.0-rc01 版包含這些修訂版本。
- API 的介面和功能已最終定案發行。
1.4.0-beta01 版本
2022 年 5 月 18 日
發布 androidx.annotation:annotation:1.4.0-beta01
。1.4.0-beta01 版本包含這些修訂版本。
- 自上一個 Alpha 版以來沒有任何變更。API 介面已鎖定,無法使用 Beta 版。
1.4.0-alpha02 版本
2022 年 2 月 9 日
發布 androidx.annotation:annotation:1.4.0-alpha02
。1.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 註解 (Ie8e1a、b/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
註解以標記元素,其中包含整數中已納入的重力值。(Ifcaa4、b/180620048)
Annotation-Experimental 1.3.0 版本
1.3.0 版本
2022 年 9 月 7 日
發布 androidx.annotation:annotation-experimental:1.3.0
。1.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-rc01
。1.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-alpha01
。1.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-beta01
。1.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
檢查的方法和欄位加上註解。(I89a54,b/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 的一致,已新增
RequiresOptIn
和OptIn
註解,且已淘汰Experimental
和UsesExperimental
註解。
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 變化版本。(I52495,b/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/1185577,b/145137892)
Annotation-Experimental 1.0.0 版本
Annotation-Experimental 1.0.0 版本
2019 年 11 月 7 日
發布 androidx.annotation:annotation-experimental:1.0.0
和 androidx.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-rc01
和 androidx.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-beta01
和 androidx.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-alpha01
和 androidx.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:lib1
和foo.baz:lib2
程式庫共用foo
前置字串,因此可使用彼此限定於該範圍內的 API。同樣的,com.foo.bar:lib1
和com.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)