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

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

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

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

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

Этот документ поможет вам загрузить пакет библиотеки поддержки и добавить библиотеки в среду разработки.

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

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

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

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

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

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

  1. Включите репозиторий Google Maven в файл 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 модуля. Например, чтобы добавить библиотеку core-utils v4, добавьте следующее:
    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 должна быть самой высокой версией, требуемой любой из указанных библиотек. Например, если ваше приложение включает в себя как библиотеку поддержки предпочтений v14, так и библиотеку Leanback v17 , минимальная версия SDK должна быть 17 или выше.