Les services Google Play incluent parfois des bibliothèques Open Source, ou dépendent de celles-ci. Pour vous conformer aux exigences de licence des bibliothèques Open Source, les développeurs sont tenus d'afficher correctement les avis concernant les bibliothèques sources que votre application utilise.
Les services Google Play incluent un ensemble d'outils conçus pour offrir aux développeurs un moyen plus simple d’exprimer les avis des logiciels open source pour les bibliothèques utilisées dans leurs applications. L'un de ces outils est un plug-in Gradle qui collecte les conditions de licence à partir des bibliothèques incluses, comme indiqué dans leurs fichiers POM, et crée un activité pouvant être utilisés pour afficher ces termes. En savoir plus sur la façon dont l'outil identifie les informations sur la licence des packages et des packages.
Ajouter le plug-in Gradle
Dans votre fichier de compilation au niveau racine, procédez comme suit:
- Incluez l'API Google Maven un dépôt de clés.
- Ajoutez le plug-in
oss-licenses
à vos dépendances.
L'extrait de code suivant montre les étapes suivantes:
DSL Kotlin
buildscript { repositories { ... google() // maven { url("https://maven.google.com") } for Gradle <= 3 } dependencies { ... classpath("com.google.android.gms:oss-licenses-plugin:0.10.6") } }
DSL groovy
buildscript { repositories { ... google() // maven { url "https://maven.google.com" } for Gradle <= 3 } dependencies { ... classpath 'com.google.android.gms:oss-licenses-plugin:0.10.6' } }
Dans votre fichier de compilation au niveau de l'application, appliquez le plug-in en ajoutant la ligne suivante :
sous la déclaration existante du plug-in com.android.application
à l'adresse
en haut du fichier:
DSL Kotlin
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
DSL groovy
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
Vous pouvez consulter les de code correspondant sur GitHub.
Ajouter la bibliothèque à votre application
Dans la section dependencies
de votre fichier de compilation au niveau de l'application, ajoutez une dépendance à la bibliothèque oss-licenses
:
DSL Kotlin
implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")
DSL groovy
implementation 'com.google.android.gms:play-services-oss-licenses:17.1.0'
Afficher les informations de licence
Lorsque votre application est compilée, le plug-in Gradle traite les licences et les ajoute
les ressources de votre application. Pour afficher facilement la licence, vous pouvez lancer une activité
fournies par la bibliothèque play-services-oss-licenses
au niveau
point dans votre application, comme indiqué dans l'extrait de code suivant:
Kotlin
import com.google.android.gms.oss.licenses.OssLicensesMenuActivity ... // When the user selects an option to see the licenses: startActivity(Intent(this, OssLicensesMenuActivity::class.java))
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));
Une fois lancée, cette activité affiche une liste de bibliothèques Open Source qui sont compilées dans votre application, y compris les bibliothèques qui font partie de Google Play comme le montre la figure 1. Les utilisateurs peuvent appuyer sur le nom d'une bibliothèque pour l'afficher. des informations de licence supplémentaires pour cette bibliothèque.
Figure 1. L'activité du menu "Licences" affiche une liste sélectionnable d'applications les bibliothèques sources qu'une application utilise.
Définir le titre de l'activité
Par défaut, l'activité affichée est intitulée "Licences Open Source". Vous pouvez
personnaliser le titre de l'activité en appelant
setActivityTitle()
comme indiqué dans l'extrait de code suivant:
Kotlin
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))
Java
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));
Appliquer un thème à l'activité
Vous pouvez appliquer un thème à l'activité pour qu'il corresponde au thème utilisé dans le
d'autres activités. Pour ce faire, incluez l'activité de licence Open Source dans une
<activity>
dans le fichier manifeste de votre application, comme indiqué ci-dessous
extrait de code:
<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>
Comment la liste des licences est-elle déterminée ?
Au moment de la compilation, le plug-in Gradle analyse les dépendances POM des applications
projet. Lorsqu'un POM Maven existe pour une dépendance directe de l'application, le plug-in
traite chaque <licenses>
et intègre le lien et le titre de chaque licence dans un élément Android
incluses dans votre application.