Аннотация

Предоставляйте метаданные, которые помогут инструментам и другим разработчикам понять код вашего приложения.

В этой таблице перечислены все артефакты в группе androidx.annotation .

Артефакт Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
аннотация 1.9.1 - - -
аннотация-экспериментальная 1.4.1 - - 1.5.0-альфа01
Последнее обновление этой библиотеки: 30 октября 2024 г.

Объявление зависимостей

Чтобы добавить зависимость от аннотации, необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .

Добавьте зависимости для нужных вам артефактов в файл build.gradle для вашего приложения или модуля:

классный

dependencies {
    implementation "androidx.annotation:annotation:1.9.1"
    // To use the Java-compatible @androidx.annotation.OptIn API annotation
    implementation "androidx.annotation:annotation-experimental:1.4.1"
}

Котлин

dependencies {
    implementation("androidx.annotation:annotation:1.9.1")
    // To use the Java-compatible @androidx.annotation.OptIn API annotation
    implementation("androidx.annotation:annotation-experimental:1.4.1")
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новую задачу

Дополнительную информацию см . в документации по системе отслеживания проблем .

Версия 1.9

Версия 1.9.1

30 октября 2024 г.

androidx.annotation:annotation-*:1.9.1 выпущен. Версия 1.9.1 содержит эти коммиты .

Исправления ошибок

  • Добавлена ​​целевая платформа JS. ( I2310b )
  • Обновление версии Kotlin до 1.9 ( I1a14c )

Версия 1.9.0

16 октября 2024 г.

Выпущен androidx.annotation:annotation-*:1.9.0 . Версия 1.9.0 содержит эти коммиты .

Важные изменения с версии 1.8.0

  • Добавлена ​​поддержка следующих многоплатформенных целей Kotlin: watchosDeviceArm64 , mingwX64 , linuxArm64 .

Версия 1.9.0-rc01

2 октября 2024 г.

androidx.annotation:annotation-*:1.9.0-rc01 выпущен. Версия 1.9.0-rc01 не содержит изменений по сравнению с предыдущей бета-версией.

Версия 1.9.0-бета01

18 сентября 2024 г.

Выпущен androidx.annotation:annotation-*:1.9.0-beta01 . Версия 1.9.0-beta01 содержит эти коммиты .

Изменения API

  • Добавляет поддержку целевой платформы watchosDeviceArm64 ( I1cc04 , b/364652024 ).

Версия 1.9.0-альфа03

4 сентября 2024 г.

Выпущен androidx.annotation:annotation-*:1.9.0-alpha03 . Версия 1.9.0-alpha03 не содержит изменений по сравнению с предыдущей альфа-версией.

Версия 1.9.0-альфа02

21 августа 2024 г.

Выпущен androidx.annotation:annotation-*:1.9.0-alpha02 . Версия 1.9.0-alpha02 содержит эти коммиты .

Новые возможности

  • Добавление поддержки платформы mingwX64 ( I461ca , b/349894318 )
  • Добавить поддержку многоплатформенной цели linuxArm64 Kotlin. ( I139d3 , б/338268719 )

Версия 1.9.0-альфа01

26 июня 2024 г.

Выпущен androidx.annotation:annotation-*:1.9.0-alpha01 . Версия 1.9.0-alpha01 содержит эти коммиты .

Внешний вклад

  • Добавляет поддержку мультиплатформенной цели linuxArm64 (спасибо Джейку Уортону!)

Версия 1.8

Версия 1.8.2

7 августа 2024 г.

Выпущен androidx.annotation:annotation-*:1.8.2 . Версия 1.8.2 содержит эти коммиты .

Исправления ошибок

  • Добавление поддержки платформы mingwX64 ( I461ca , b/349894318 )

Версия 1.8.1

24 июля 2024 г.

Выпущен androidx.annotation:annotation-*:1.8.1 . Версия 1.8.1 содержит эти коммиты .

Исправления ошибок

  • Включает дополнительные мультиплатформенные цели Kotlin: watchos , tvos .

Версия 1.8.0

14 мая 2024 г.

Выпущен androidx.annotation:annotation-*:1.8.0 . Версия 1.8.0 содержит эти коммиты .

Важные изменения с версии 1.7.0

  • Добавлена ​​аннотация @ReplaceWith для экспресс-замены устаревших API.
  • Аннотация @MainThread была перенесена в общий исходный набор.

Версия 1.8.0-rc01

1 мая 2024 г.

androidx.annotation:annotation-*:1.8.0-rc01 выпущен. Версия 1.8.0-rc01 не содержит изменений по сравнению с предыдущей бета-версией.

Версия 1.8.0-бета02

17 апреля 2024 г.

Выпущен androidx.annotation:annotation-*:1.8.0-beta02 . Версия 1.8.0-beta02 не содержит изменений по сравнению с предыдущим выпуском.

Версия 1.8.0-бета01

3 апреля 2024 г.

Выпущен androidx.annotation:annotation-*:1.8.0-beta01 . Версия 1.8.0-beta01 содержит эти коммиты .

Новые возможности

  • Аннотация ReplaceWith теперь API-стабильна, но соответствующая проверка ворса с автоматическим исправлением еще не реализована.

Версия 1.8.0-альфа02

20 марта 2024 г.

androidx.annotation:annotation-*:1.8.0-alpha02 выпущен без заметных изменений. Версия 1.8.0-alpha02 содержит эти коммиты .

Версия 1.8.0-альфа01

21 февраля 2024 г.

Выпущен androidx.annotation:annotation-*:1.8.0-alpha01 . Версия 1.8.0-alpha01 содержит эти коммиты.

Изменения API

  • Добавлена ​​аннотация @ReplaceWith для экспресс-замены устаревших API. ( I38db3 , б/322373864 )

Внешние взносы

  • Спасибо Ивану Маткову за перемещение аннотации @MainThread в общий исходный набор. ( 6f228c )

Версия 1.7

Версия 1.7.1

13 декабря 2023 г.

androidx.annotation:annotation-*:1.7.1 выпущен. Версия 1.7.1 содержит эти коммиты.

Исправления ошибок

  • Используйте область compile при вставке зависимости платформы по умолчанию. ( I4958f )

Версия 1.7.0

6 сентября 2023 г.

Выпущен androidx.annotation:annotation-*:1.7.0 . Версия 1.7.0 содержит эти коммиты.

Важные изменения с версии 1.6.0

  • Включает многоплатформенные артефакты Kotlin, предназначенные для платформ iOS, Linux и MacOS.
  • Теперь вы можете использовать аннотации в проектах KMM . Обратите внимание, что цели аннотаций, отличные от Android, все еще являются экспериментальными, но мы решили объединить версии, чтобы разработчикам было легче их опробовать. В частности, некоторые аннотации могут перемещаться между общим и специфичным для платформы кодом во время альфа-разработки, когда мы окончательно определяем границы.

Версия 1.7.0-rc01

23 августа 2023 г.

androidx.annotation:annotation-*:1.7.0-rc01 выпущен. Версия 1.7.0-rc01 содержит эти коммиты.

Этот выпуск не содержит никаких изменений по сравнению с предыдущей бета-версией.

Версия 1.7.0-бета01

9 августа 2023 г.

androidx.annotation:annotation-*:1.7.0-beta01 выпущен. Версия 1.7.0-beta01 содержит эти коммиты.

Новые возможности

  • Стабилизированные API для выпуска

Версия 1.7.0-альфа03

26 июля 2023 г.

Выпущен androidx.annotation:annotation-*:1.7.0-alpha03 . Версия 1.7.0-alpha03 содержит эти коммиты.

Исправления ошибок

  • Публикация Maven POM теперь включает в качестве зависимости по умолчанию многоплатформенный артефакт, ориентированный на JVM.

Версия 1.7.0-альфа02

24 марта 2023 г.

Выпущен androidx.annotation:annotation-*:1.7.0-alpha02 .

Исправления ошибок

  • Удалены ограничения зависимостей из артефактов Maven для обхода проблемы сборки в Kotlin Native Targets ( b/274786186 , KT-57531 ).

Версия 1.7.0-альфа01

22 марта 2023 г.

androidx.annotation:annotation-*:1.7.0-alpha01 выпущен. Версия 1.7.0-alpha01 содержит эти коммиты.

Новые возможности

  • Включает многоплатформенные артефакты Kotlin, предназначенные для платформ iOS, Linux и MacOS.
  • Теперь вы можете использовать аннотации в проектах KMM . Обратите внимание, что цели аннотаций, отличные от Android, все еще являются экспериментальными, но мы решили объединить версии, чтобы разработчикам было легче их опробовать. В частности, некоторые аннотации могут перемещаться между общим и специфичным для платформы кодом во время альфа-разработки, когда мы окончательно определяем границы.

Версия 1.6

Версия 1.6.0

22 февраля 2023 г.

Выпущены androidx.annotation:annotation:1.6.0 и androidx.annotation:annotation-jvm:1.6.0 . Версия 1.6.0 содержит эти коммиты.

Важные изменения с версии 1.5.0

  • Добавляет аннотацию @RequiresExtension , чтобы указать, что API требует определенной версии определенного SDK расширения ( I5e4fe ).
  • Преобразованная библиотека аннотаций для сборки с использованием многоплатформенной цепочки инструментов Kotlin ( I3be8d ).

Версия 1.6.0-rc01

8 февраля 2023 г.

Выпущены androidx.annotation:annotation:1.6.0-rc01 и androidx.annotation:annotation-jvm:1.6.0-rc01 . Версия 1.6.0-rc01 содержит эти коммиты.

  • Аннотация стабилизирована для версии-кандидата 1.6.0-rc01.

Версия 1.6.0-бета01

25 января 2023 г.

androidx.annotation:annotation:1.6.0-beta01 и androidx.annotation:annotation-jvm:1.6.0-beta01 выпущены без изменений по сравнению с 1.6.0-alpha01 .

Версия 1.6.0-альфа01

11 января 2023 г.

Выпущен androidx.annotation:annotation-*:1.6.0-alpha01 . Версия 1.6.0-alpha01 содержит эти коммиты.

Версия 1.6.0-dev01

8 февраля 2023 г.

androidx.annotation:annotation-*:1.6.0-dev01 выпущен. Версия 1.6.0-dev01 содержит эти коммиты.

  • Аннотация включила многоплатформенность Kotlin для предварительной версии для разработчиков 1.6.0-dev01.

Новые возможности

  • Добавляет аннотацию @RequiresExtension , чтобы указать, что API требует определенной версии определенного SDK расширения. ( I5e4fe )
  • Преобразованная библиотека аннотаций для сборки с использованием многоплатформенной цепочки инструментов Kotlin ( I3be8d ).

Версия 1.5.0

Версия 1.5.0

21 сентября 2022 г.

androidx.annotation:annotation:1.5.0 выпущен. Версия 1.5.0 содержит эти коммиты.

Важные изменения с версии 1.4.0

  • Библиотека аннотаций была полностью перенесена в исходные коды Kotlin, что привело к поддержке сайтов целевого использования, специфичных для Kotlin, и других функций аннотаций, совместимых с Kotlin.

Версия 1.5.0-rc01

7 сентября 2022 г.

androidx.annotation:annotation:1.5.0-rc01 выпущен. Версия 1.5.0-rc01 содержит эти коммиты.

  • Никаких изменений по сравнению с предыдущей бета-версией 1.5.0.

Версия 1.5.0-бета01

24 августа 2022 г.

androidx.annotation:annotation:1.5.0-beta01 выпущен. Версия 1.5.0-beta01 содержит эти коммиты.

  • Никаких изменений по сравнению с предыдущим выпуском. Поверхность API заморожена для бета-тестирования.

Версия 1.5.0-альфа02

10 августа 2022 г.

androidx.annotation:annotation:1.5.0-alpha02 выпущен. Версия 1.5.0-alpha02 содержит эти коммиты.

  • Никаких изменений со времени предыдущей альфа-версии.

Версия 1.5.0-альфа01

27 июля 2022 г.

androidx.annotation:annotation:1.5.0-alpha01 выпущен. Версия 1.5.0-alpha01 содержит эти коммиты.

Новые возможности

  • Библиотека аннотаций была полностью перенесена в исходные коды Kotlin, что привело к поддержке сайтов целевого использования, специфичных для Kotlin, и других функций аннотаций, совместимых с Kotlin.

Версия 1.4.0

Версия 1.4.0

15 июня 2022 г.

androidx.annotation:annotation:1.4.0 выпущен. Версия 1.4.0 содержит эти коммиты.

Важные изменения с версии 1.3.0

  • @RestrictTo был перенесен в исходные коды Kotlin и теперь поддерживает сайт использования @file . В результате библиотека аннотаций теперь зависит от стандартной библиотеки Kotlin.
  • @ReturnThis (b/140249763): гарантирует, что переопределяющие методы этого метода должны возвращать один и тот же экземпляр (предназначен для сборщиков и т. д.).
  • @OpenForTesting (b/141539024): классы и методы Kotlin, помеченные как «открытые», могут быть помечены этой аннотацией, и lint будет следить за тем, чтобы этот класс был только подклассом (а методы только переопределялись) из модульных тестов.
  • @DeprecatedSinceApi (b/37116481): указывает, что аннотированный метод (или класс, или поле) является частью библиотеки резервного копирования для API платформы, которая больше не требуется с данного уровня API.
  • @EmptySuper : указывает, что этот метод определен как пустой, поэтому при переопределении вам не нужно его вызывать (и на самом деле не следует; например, он может содержать проверку обратной совместимости).

Версия 1.4.0-rc01

1 июня 2022 г.

androidx.annotation:annotation:1.4.0-rc01 выпущен. Версия 1.4.0-rc01 содержит эти коммиты.

  • Поверхность и функциональность API завершены к выпуску.

Версия 1.4.0-бета01

18 мая 2022 г.

androidx.annotation:annotation:1.4.0-beta01 выпущен. Версия 1.4.0-beta01 содержит эти коммиты.

  • Никаких изменений со времени последней альфы. Поверхность API заблокирована для бета-версии.

Версия 1.4.0-альфа02

9 февраля 2022 г.

androidx.annotation:annotation:1.4.0-alpha02 выпущен. Версия 1.4.0-alpha02 содержит эти коммиты.

Новые возможности

  • Добавлены аннотации @ReturnThis , @OpenForTesting , @EmptySuper и @DeprecatedSinceApi . ( 21946a2 )

  • @ReturnThis ( b/140249763 ): гарантирует, что переопределяющие методы этого метода должны возвращать один и тот же экземпляр (предназначен для сборщиков и т. д.).

  • @OpenForTesting ( b/141539024 ): классы и методы Kotlin, помеченные как «открытые», могут быть помечены этой аннотацией, и lint будет следить за тем, чтобы этот класс был только подклассом (а методы только переопределялись) из модульных тестов.

  • @DeprecatedSinceApi ( b/37116481 ): указывает, что аннотированный метод (или класс или поле) является частью библиотеки резервного копирования для API платформы, которая больше не нужна на данном уровне API.

  • @EmptySuper : указывает, что этот метод определен как пустой, поэтому при переопределении вам не нужно его вызывать (и на самом деле не следует; например, он может содержать проверку обратной совместимости).

Версия 1.4.0-альфа01

15 декабря 2021 г.

androidx.annotation:annotation:1.4.0-alpha01 выпущен. Версия 1.4.0-alpha01 содержит эти коммиты.

Изменения API

  • Аннотация RestrictTo перенесена в исходники Kotlin ( Ia6336 ).

Версия 1.3.0

Версия 1.3.0

3 ноября 2021 г.

androidx.annotation:annotation:1.3.0 выпущен. Версия 1.3.0 содержит эти коммиты.

Важные изменения с версии 1.2.0

  • @Discouraged аннотация для маркировки API, которые нельзя объявить устаревшими, но которые оказывают существенное негативное влияние на производительность и не должны вызываться в обычном производственном коде.
  • Аннотация @Context для обозначения общих контекстов, чтобы разработчикам было проще перейти на новые API.
  • Аннотация @GravityInt для маркировки элементов, содержащих значения силы тяжести, упакованные в целые числа.
  • Устаревший @InspectableProperty в пользу @Attribute для androidx.resourceinspection

Версия 1.3.0-rc01

27 октября 2021 г.

androidx.annotation:annotation:1.3.0-rc01 выпущен. Версия 1.3.0-rc01 содержит эти коммиты.

Версия 1.3.0-бета01

29 сентября 2021 г.

androidx.annotation:annotation:1.3.0-beta01 выпущен. Версия 1.3.0-beta01 содержит эти коммиты.

Изменения API

  • Требуйте объяснений в «сообщении» для @Discouraged. ( I3390f )
  • Добавление аннотации @Discouraged для маркировки нежелательных элементов. ( Ib2549 )
  • Сделайте аннотацию RestrictTo видимой из всплывающего окна документации Studio ( Ie8e1a , b/183134648 ).

Исправления ошибок

  • Добавьте аннотацию контекста, чтобы отметить общие контексты, чтобы разработчикам было проще перейти на новые API. ( Ie581a )

Версия 1.3.0-альфа01

24 марта 2021 г.

androidx.annotation:annotation:1.3.0-alpha01 выпущен. Версия 1.3.0-alpha01 содержит эти коммиты.

Изменения API

  • @InspectableProperty устарел в пользу @Attribute в androidx.resourceinspection . ( Ic0eff )
  • Добавлена ​​аннотация @GravityInt для маркировки элементов, содержащих значения гравитации, упакованные в целые числа. ( Ifcaa4 , б/180620048 )

Аннотация-экспериментальная версия 1.5

Версия 1.5.0-альфа01

21 августа 2024 г.

Выпущен androidx.annotation:annotation-experimental:1.5.0-alpha01 . Версия 1.5.0-alpha01 содержит эти коммиты .

Изменения API

  • Добавьте message в RequiresOptIn чтобы оно соответствовало аннотации stdlib Kotlin со значением пустой строки по умолчанию. ( I1f50e )

Аннотация-экспериментальная версия 1.4

Версия 1.4.1

3 апреля 2024 г.

androidx.annotation:annotation-experimental:1.4.1 выпущен. Версия 1.4.1 содержит эти коммиты .

Исправления ошибок

  • Исправлено использование isKotlin , чтобы избежать случайного запуска проверки RequiresOptIn в файлах Kotlin. ( I2d8c1f )

Версия 1.4.0

24 января 2024 г.

Выпущен androidx.annotation:annotation-experimental:1.4.0 . Версия 1.4.0 содержит эти коммиты.

Важные изменения с версии 1.3.0

  • Добавить поддержку мультиплатформенности Kotlin.
  • Исправлена ​​совместимость с Kotlin 2.0.
  • Показывать предупреждения об использовании Java экспериментально аннотированных свойств Kotlin ( I8bd43 )
  • Исправлено размещение аннотации автоисправления в методах Kotlin ( Id7a41 ).

Версия 1.4.0-rc01

10 января 2024 г.

androidx.annotation:annotation-experimental:1.4.0-rc01 выпущен. Версия 1.4.0-rc01 не содержит изменений по сравнению с предыдущим выпуском.

Версия 1.4.0-бета01

13 декабря 2023 г.

androidx.annotation:annotation-experimental:1.4.0-beta01 выпущен. Никаких изменений с предыдущей версии нет.

Версия 1.4.0-альфа01

29 ноября 2023 г.

Выпущен androidx.annotation:annotation-experimental:1.4.0-alpha01 . Версия 1.4.0-alpha01 содержит эти коммиты.

Исправления ошибок

  • Временно удалите предложения автоисправления на уровне класса, чтобы обойти b/301598518 . ( Id98b2 )
  • Показывать предупреждения об использовании Java экспериментально аннотированных свойств Kotlin ( I8bd43 ).
  • Исправлено размещение аннотации автоисправления в методах Kotlin ( Id7a41 ).

Версия 1.4.0-dev01

8 февраля 2023 г.

androidx.annotation:annotation-experimental:1.4.0-dev01 выпущен. Версия 1.4.0-dev01 содержит эти коммиты.

  • Annotation-experimental включила многоплатформенность Kotlin для предварительной версии для разработчиков 1.4.0-dev01.

Аннотация-Экспериментальная версия 1.3.1

Версия 1.3.1

21 июня 2023 г.

androidx.annotation:annotation-experimental:1.3.1 выпущен. Версия 1.3.1 содержит эти коммиты.

Исправления ошибок

  • Размещайте аннотацию в начале списка модификаторов при применении автоматического исправления ворса. ( б/251172715 )
  • Используйте проверку ворса, чтобы препятствовать использованию androidx.annotation.RequiresOptIn в источниках Kotlin ( b/241097743 ).

Аннотация-Экспериментальная версия 1.3.0

Версия 1.3.0

7 сентября 2022 г.

Выпущен androidx.annotation:annotation-experimental:1.3.0 . Версия 1.3.0 содержит эти коммиты.

Важные изменения с версии 1.2.0

  • Добавить поддержку использования @androidx.annotation.OptIn на уровне пакета ( I24d58 ).
  • Зависимость stdlib Kotlin перенесена на тип API, а не только на компиляцию. Это означает, что все клиенты библиотеки Annotation-Experimental будут включать стандартную библиотеку Kotlin в свои транзитивные зависимости.

Версия 1.3.0-rc01

24 августа 2022 г.

androidx.annotation:annotation-experimental:1.3.0-rc01 выпущен. Версия 1.3.0-rc01 содержит эти коммиты.

  • Никаких изменений по сравнению с предыдущим выпуском. Реализация RC была заморожена.

Версия 1.3.0-бета01

10 августа 2022 г.

androidx.annotation:annotation-experimental:1.3.0-beta01 выпущен. Версия 1.3.0-beta01 содержит эти коммиты.

  • Никаких изменений по сравнению с альфа. Эта библиотека стабилизирована для бета-версии.

Версия 1.3.0-альфа01

27 июля 2022 г.

Выпущен androidx.annotation:annotation-experimental:1.3.0-alpha01 . Версия 1.3.0-alpha01 содержит эти коммиты.

Изменения API

  • Добавить поддержку использования @androidx.annotation.OptIn на уровне пакета ( I24d58 ).

Аннотация-Экспериментальная версия 1.2.0

Версия 1.2.0

15 декабря 2021 г.

Выпущен androidx.annotation:annotation-experimental:1.2.0 . Версия 1.2.0 содержит эти коммиты.

Важные изменения с версии 1.1.0

Эта библиотека теперь ориентирована на уровень языка Java 8.

Версия 1.2.0-rc01

1 декабря 2021 г.

androidx.annotation:annotation-experimental:1.2.0-rc01 выпущен. Версия 1.2.0-rc01 содержит эти коммиты.

Никаких изменений по сравнению с бета-версией.

Версия 1.2.0-бета01

17 ноября 2021 г.

Выпущен androidx.annotation:annotation-experimental:1.2.0-beta01 . Версия 1.2.0-beta01 содержит эти коммиты.

Изменения API

API завершены для бета-тестирования.

Аннотация-Экспериментальная версия 1.2.0-alpha01

30 июня 2021 г.

Выпущен androidx.annotation:annotation-experimental:1.2.0-alpha01 . Версия 1.2.0-alpha01 содержит эти коммиты.

Новые возможности

  • Библиотека теперь ориентирована на уровень языка Java 8.

Версия 1.2.0

Версия 1.2.0

24 марта 2021 г.

androidx.annotation:annotation:1.2.0 выпущен. Версия 1.2.0 содержит эти коммиты.

Основные изменения с версии 1.1.0

  • Добавлена ​​аннотация @ChecksSdkIntAtLeast , которую можно использовать для идентификации методов или полей, используемых для ограничения доступа на уровне SDK и выполнения проверки проверки NewApi .
  • Добавлена ​​аннотация @DoNotInline , которая в сочетании с правилом Proguard предотвращает встраивание элементов во время оптимизации.
  • Различные аннотации теперь помечаются @Documented , чтобы они отображались в документации для аннотированных членов.

Версия 1.2.0-rc01

24 февраля 2021 г.

androidx.annotation:annotation:1.2.0-rc01 выпущен. Версия 1.2.0-rc01 содержит эти коммиты.

Версия 1.2.0-бета01

13 января 2021 г.

androidx.annotation:annotation:1.2.0-beta01 выпущен. Версия 1.2.0-beta01 содержит эти коммиты.

Изменения API

  • Новая аннотация @DoNotInline , которая предписывает оптимизаторам кода (например, Proguard, R8) не встраивать аннотированный метод. ( I3dfe8 , б/141326133 )

Версия 1.2.0-альфа01

14 мая 2020 г.

androidx.annotation:annotation:1.2.0-alpha01 выпущен. Версия 1.2.0-alpha01 содержит эти коммиты.

Новые возможности

  • Добавлена ​​аннотация @ChecksSdkIntAtLeast . Это позволит androidx и пользователям аннотировать методы и поля, которые представляют собой проверку SDK_INT . ( I89a54 , б/120255046 )

Аннотация-Экспериментальная версия 1.1.0

Версия 1.1.0

7 апреля 2021 г.

Выпущен androidx.annotation:annotation-experimental:1.1.0 . Версия 1.1.0 содержит эти коммиты.

Основные изменения с версии 1.0.0

  • Экспериментальные аннотации Jetpack были переписаны на Kotlin, чтобы обеспечить поддержку нескольких классов маркеров и улучшенную обработку устаревания.
  • Аннотации RequiresOptIn и OptIn были добавлены для обеспечения равенства с Kotlin, а аннотации Experimental и UsesExperimental устарели.

Версия 1.1.0-rc02

24 марта 2021 г.

androidx.annotation:annotation-experimental:1.1.0-rc02 выпущен. Версия 1.1.0-rc02 содержит эти коммиты.

Исправления ошибок

  • Добавлены правила Proguard, гарантирующие, что оптимизация кода не будет предупреждать об отсутствии метааннотаций Kotlin.

Версия 1.1.0-rc01

10 марта 2021 г.

androidx.annotation:annotation-experimental:1.1.0-rc01 выпущен. Версия 1.1.0-rc01 содержит эти коммиты.

Никаких изменений с момента предыдущей бета-версии.

Версия 1.1.0-бета01

27 января 2021 г.

androidx.annotation:annotation-experimental:1.1.0-beta01 выпущен. Версия 1.1.0-beta01 содержит эти коммиты.

Изменения API

  • Вариант экспериментальной аннотации androidx устарел, чтобы обеспечить равенство с Kotlin. Он был заменен вариантом аннотации RequiresOptIn для Androidx, а линтер, ориентированный на Java, был обновлен для поддержки как новой аннотации Kotlin, так и нового варианта androidx. ( I52495 , б / 151331381 )

Версия 1.1.0-альфа01

22 июля 2020 г.

androidx.annotation:annotation-experimental:1.1.0-alpha01 выпущен. Версия 1.1.0-alpha01 содержит эти коммиты.

Новые возможности

  • Экспериментальная библиотека аннотаций теперь написана на Kotlin, но не требует включения стандартной библиотеки Kotlin в качестве зависимости. Он включает в себя файл Proguard, который позволяет удалять ненужные метаданные Kotlin из проектов, использующих только язык программирования Java.
  • @UseExperimental теперь поддерживает несколько классов маркеров ( aosp/1185577 , b/145137892 )

Аннотация-экспериментальная версия 1.0.0

Аннотация-экспериментальная версия 1.0.0

7 ноября 2019 г.

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

  • Применение @Experimental семантики Kotlin на основе Lint в исходном коде Java
  • Аннотации Java, которые обеспечивают поведение, эквивалентное аннотациям @Experimental и @UseExperimental Kotlin, без необходимости зависимости от Kotlin.

Аннотация-Экспериментальная версия 1.0.0-rc01

23 октября 2019 г.

Выпущены androidx.annotation:annotation-experimental:1.0.0-rc01 и androidx.annotation:annotation-experimental-lint:1.0.0-rc01 . Версия 1.0.0-rc01 содержит эти коммиты .

Известные проблемы

При использовании стабильной версии Studio 3.5 предупреждения от детектора использования @Experimental не отображаются в среде IDE о недопустимом использовании Java аннотации Kotlin @Experimental . См. b/140640322 .

Аннотация-Экспериментальная версия 1.0.0-beta01

9 октября 2019 г.

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 содержит эти коммиты .

Аннотация-Экспериментальная версия 1.0.0-alpha01

18 сентября 2019 г.

Выпущены 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 Experimental предоставляет Java-совместимую реализацию экспериментальных маркеров API Kotlin. Артефакт -lint обеспечивает реализацию ограничений экспериментального использования на основе Lint и налагает ограничения на использование Java собственных экспериментальных маркеров API Kotlin.

  • При использовании артефакта annotation-experimental в качестве зависимости правила Lint, предоставляемые артефактом annotation-experimental-lint будут применяться автоматически.

Версия 1.1.0

Версия 1.1.0

5 июня 2019 г.

androidx.annotation:annotation:1.1.0 выпущен без изменений по сравнению с версией 1.1.0-rc01.

Версия 1.1.0-rc01

7 мая 2019 г.

androidx.annotation:annotation:1.1.0-rc01 выпущен без изменений по сравнению с 1.1.0-beta01 . Коммиты, включенные в эту версию, можно найти здесь .

Версия 1.1.0-бета01

3 апреля 2019 г.

androidx.annotation:annotation:1.1.0-beta01 выпущен. Коммиты, включенные в эту версию, можно найти здесь .

Новые возможности

  • Новая аннотация @InspectableProperty для поддержки новых API проверки представлений, добавленных в Android 10. Эту аннотацию можно применять к методам получения представлений или других элементов пользовательского интерфейса. Инструменты генерации кода могут использовать его для создания сопутствующих объектов, которые сопоставляют имена свойств и идентификаторы атрибутов со значениями свойств без затрат на отражение.

Изменения API

  • Критическое изменение: @ContentView был изменен на аннотацию конструктора, а значение @LayoutRes было удалено. Классы, желающие поддерживать аннотации @ContentView должны добавить эту аннотацию в конструктор, который принимает параметр @LayoutRes int . Это устраняет проблему при использовании этой аннотации в модулях библиотеки. ( б / 128352521 )

Версия 1.1.0-альфа02

13 марта 2019 г.

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-альфа01

30 января 2019 г.

androidx.annotation:annotation 1.1.0-alpha01 .

Новые возможности

  • Добавлена ​​аннотация @ContentView , позволяющая указать, какой XML-файл макета следует раздуть. Это поддерживается в ComponentActivity в версии 1.0.0-alpha04 и Fragment в версии 1.1.0-alpha04 в качестве альтернативы использованию setContentView() или переопределению onCreateView() соответственно. ( аосп/837619 )

Версия 1.0.2

Версия 1.0.2

25 февраля 2019 г.

androidx.annotation:annotation 1.0.2 .

Исправления ошибок

  • Исправьте правила R8/ProGuard, встроенные в jar. Они неправильно ссылались на старые типы android.support.annotation вместо androidx.annotation . Примечание. Это повлияло бы на ваши сборки только в том случае, если бы вы не использовали getDefaultProguardFile , поскольку эти правила по умолчанию также включали правильные правила для обоих пакетов. ( аосп/891685 )
  • Добавьте правило R8/ProGuard, которое явно сохраняет саму аннотацию @Keep. Это гарантирует, что ProGuard не удалит аннотацию из типов до фактического соблюдения ее семантики. Примечание. Это повлияло бы на ваши сборки только в том случае, если бы вы не использовали getDefaultProguardFile , поскольку эти правила по умолчанию также включали правильные правила для обоих пакетов. ( аосп/903818 )