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

Примечание: С выпуском 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 .

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

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

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

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

Изменения в декларации манифеста

Если вы увеличиваете обратную совместимость вашего существующего приложения с более ранней версией API Android с помощью библиотеки поддержки, обязательно обновите манифест вашего приложения. В частности, вам следует обновить элемент 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 Preference Support, так и библиотеку v17 Leanback , минимальная версия SDK должна быть 17 или выше.