Поддержка настройки библиотеки

Примечание: С выходом Android 9.0 (уровень API 28) появилась новая версия библиотеки поддержки под названием AndroidX , которая является частью Jetpack . Библиотека AndroidX содержит существующую библиотеку поддержки, а также включает в себя новейшие компоненты Jetpack.

Вы можете продолжать использовать библиотеку поддержки. Исторические артефакты (версии 27 и более ранние, упакованные как android.support.* ) останутся доступными в Google Maven. Однако вся новая разработка библиотек будет осуществляться в библиотеке AndroidX .

Мы рекомендуем использовать библиотеки AndroidX во всех новых проектах. Также следует рассмотреть возможность миграции существующих проектов на AndroidX.

Способ настройки библиотек поддержки Android в вашем проекте разработки зависит от того, какие функции вы хотите использовать и какой диапазон версий платформы Android вы хотите поддерживать своим приложением.

В этом документе описан процесс загрузки пакета библиотек поддержки и добавления библиотек в среду разработки.

Вспомогательные библиотеки теперь доступны через репозиторий Maven от Google. Мы больше не поддерживаем загрузку библиотек через SDK Manager, и эта функция будет вскоре удалена.

Выбор библиотек поддержки

Прежде чем добавлять библиотеку поддержки в свое приложение, определите, какие функции вы хотите включить и какие самые ранние версии Android вы хотите поддерживать. Для получения дополнительной информации о функциях, предоставляемых различными библиотеками, см. раздел «Функции библиотек поддержки» .

Добавление библиотек поддержки

Для использования библиотеки поддержки необходимо изменить зависимости classpath проекта вашего приложения в среде разработки. Эту процедуру необходимо выполнить для каждой библиотеки поддержки, которую вы хотите использовать.

Чтобы добавить библиотеку поддержки в проект вашего приложения:

  1. Добавьте репозиторий Maven от Google в файл settings.gradle вашего проекта.
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
    
            // If you're using a version of Gradle lower than 4.1, you must
            // instead use:
            //
            // maven {
            //     url 'https://maven.google.com'
            // }
        }
    }
  2. Для каждого модуля, в котором вы хотите использовать библиотеку поддержки, добавьте её в блок dependencies файла build.gradle этого модуля. Например, чтобы добавить библиотеку v4 core-utils, добавьте следующее:
    dependencies {
        ...
        implementation "com.android.support:support-core-utils:28.0.0"
    }

Внимание: использование динамических зависимостей (например, palette-v7:23.0.+ ) может привести к неожиданным обновлениям версий и регрессионной несовместимости. Мы рекомендуем явно указывать версию библиотеки (например, palette-v7:28.0.0 ).

Использование API библиотеки поддержки

Классы библиотеки поддержки, обеспечивающие поддержку существующих API фреймворка, обычно имеют то же имя, что и класс фреймворка, но находятся в пакетах классов android.support или имеют суффикс *Compat .

Внимание: При использовании классов из библиотеки поддержки убедитесь, что вы импортируете класс из соответствующего пакета. Например, при применении класса ActionBar :

  • android.support.v7.app.ActionBar при использовании библиотеки поддержки.
  • android.app.ActionBar используется только при разработке для API уровня 11 или выше.

Примечание: После включения библиотеки поддержки в ваш проект приложения мы настоятельно рекомендуем уменьшить размер, обфусцировать и оптимизировать ваше приложение для выпуска. Помимо защиты исходного кода с помощью обфускации, уменьшение размера удаляет неиспользуемые классы из любых библиотек, которые вы включаете в свое приложение, что позволяет максимально уменьшить размер загружаемого приложения.

Дополнительные рекомендации по использованию некоторых функций библиотеки поддержки приведены в учебных курсах , руководствах и примерах для разработчиков Android. Более подробную информацию об отдельных классах и методах библиотеки поддержки см. в пакетах android.support в справочнике API.

Изменения в декларации о доходах

Если вы повышаете обратную совместимость вашего существующего приложения с более ранней версией Android API с помощью библиотеки поддержки, обязательно обновите манифест вашего приложения. В частности, вам следует обновить элемент android:minSdkVersion тега <uses-sdk> в манифесте, указав новый, более низкий номер версии, как показано ниже:

  <uses-sdk
      android:minSdkVersion="14"
      android:targetSdkVersion="23" />

Параметр манифеста сообщает Google Play, что ваше приложение может быть установлено на устройствах с Android 4.0 (уровень API 14) и выше.

Если вы используете файлы сборки Gradle, параметр minSdkVersion в файле сборки переопределяет параметры манифеста.

plugins {
  id 'com.android.application'
}

android {
    ...

    defaultConfig {
        minSdkVersion 16
        ...
    }
    ...
}

В этом случае параметр файла сборки сообщает Google Play, что вариант сборки вашего приложения по умолчанию может быть установлен на устройствах с Android 4.1 (уровень API 16) и выше. Для получения дополнительной информации о вариантах сборки см. раздел «Обзор системы сборки» .

Примечание: Если вы используете несколько вспомогательных библиотек, минимальная версия SDK должна соответствовать самой высокой версии, требуемой любой из указанных библиотек. Например, если ваше приложение включает в себя библиотеку Preference Support версии 14 и библиотеку Leanback версии 17 , минимальная версия SDK должна быть 17 или выше.