Пакеты SDK сервисов Google Play иногда включают в себя библиотеки с открытым исходным кодом или зависят от них. Чтобы соответствовать лицензионным требованиям библиотек с открытым исходным кодом, вы, как разработчик, несете ответственность за надлежащее отображение уведомлений об библиотеках с открытым исходным кодом, которые использует ваше приложение.
Сервисы Google Play включают набор инструментов, призванных упростить разработчикам отображение уведомлений о программном обеспечении с открытым исходным кодом (OSS) для библиотек, используемых в их приложениях. Модуль oss-licenses-plugin
и SDK сервисов Google Play oss-licenses собирают условия лицензии из включённых библиотек, как указано в их POM-файлах, и создают действие , которое можно использовать для отображения этих условий. Узнайте больше о том , как инструмент находит и упаковывает информацию о лицензии .
Добавьте плагин Gradle
В настройках вашего проекта в разделе pluginManagement
выполните следующие действия:
- Включить репозиторий Google Maven .
- Разрешите плагин
oss-licenses
вPluginManagement
.
В следующем фрагменте кода показаны эти шаги:
Kotlin DSL
settings.gradle.kts
pluginManagement { repositories { ... google() } resolutionStrategy { eachPlugin { if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") { useModule("com.google.android.gms:oss-licenses-plugin:0.10.6") } } } }
Groovy DSL
build.gradle
pluginManagement { repositories { ... google() } resolutionStrategy { eachPlugin { if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") { useModule("com.google.android.gms:oss-licenses-plugin:0.10.6") } } } }
В файле сборки на уровне приложения примените плагин, добавив следующую строку под существующим объявлением плагина com.android.application
в верхней части файла:
Kotlin DSL
app/build.gradle.kts
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
Groovy DSL
приложение/build.gradle
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
Вы можете просмотреть код этого плагина на GitHub.
Добавьте библиотеку play-services-oss-licenses
в свое приложение
В разделе dependencies
файла сборки уровня приложения добавьте зависимость от библиотеки play-services-oss-licenses
:
Kotlin DSL
build.gradle.kts
implementation("com.google.android.gms:play-services-oss-licenses:17.2.1")
Groovy DSL
build.gradle
implementation 'com.google.android.gms:play-services-oss-licenses:17.2.1'
Отображение информации о лицензии
При сборке вашего приложения плагин Gradle обрабатывает лицензии и добавляет их в ресурсы приложения. Чтобы легко отобразить лицензию, вы можете запустить действие, предоставляемое библиотекой play-services-oss-licenses
в подходящем месте приложения, как показано в следующем фрагменте кода:
Котлин
import com.google.android.gms.oss.licenses.OssLicensesMenuActivity ... // When the user selects an option to see the licenses: startActivity(Intent(this, OssLicensesMenuActivity::class.java))
Ява
import com.google.android.gms.oss.licenses.OssLicensesMenuActivity; ... // When the user selects an option to see the licenses: startActivity(new Intent(this, OssLicensesMenuActivity.class));
При запуске активности отображается список библиотек с открытым исходным кодом, скомпилированных в ваше приложение, включая библиотеки, используемые приложением, как показано на рисунке 1. Пользователи могут нажать на название библиотеки, чтобы просмотреть дополнительную информацию о лицензии для этой библиотеки.
Рисунок 1. Действие меню лицензий показывает доступный для выбора список библиотек с открытым исходным кодом, которые использует приложение.
Установите название мероприятия
По умолчанию отображаемое действие имеет заголовок «Лицензии с открытым исходным кодом». Вы можете изменить заголовок действия, вызвав метод setActivityTitle()
, как показано в следующем фрагменте кода:
Котлин
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))
Ява
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));
Применить тему к занятию
Вы можете применить тему к активности, чтобы она соответствовала теме, используемой в других активностях вашего приложения. Для этого включите активность с лицензией на открытый исходный код в элемент <activity>
в файле манифеста вашего приложения, как показано в следующем фрагменте кода:
<application android:theme="@style/AppTheme" ...> <activity android:name="com.google.android.gms.oss.licenses.OssLicensesMenuActivity" android:theme="@style/AppTheme" /> <activity android:name="com.google.android.gms.oss.licenses.OssLicensesActivity" android:theme="@style/AppTheme" /> </application>
Как определяется список лицензий
Во время компиляции плагин Gradle сканирует POM-зависимости проекта вашего приложения. Если для прямой зависимости приложения существует POM Maven, плагин обрабатывает каждый элемент <licenses>
и встраивает ссылку и название каждой лицензии в ресурс Android, включённый в ваше приложение.
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-08-08 UTC.