Google Play-Dienste enthalten manchmal Open-Source-Bibliotheken oder sind von diesen abhängig. Um die Lizenzanforderungen von Open-Source-Bibliotheken zu erfüllen, müssen Sie als Entwickler sind dafür verantwortlich, die Hinweise für die offene Quellbibliotheken, die Ihre Anwendung verwendet.
Die Google Play-Dienste umfassen eine Reihe von Tools, mit denen Entwickler einfachere Möglichkeit, Hinweise auf Open-Source-Software von Bibliotheken auszudrücken, die in ihre Apps. Eines dieser Tools ist ein Gradle-Plug-in, mit dem Lizenzbedingungen erfasst werden. aus enthaltenen Bibliotheken, wie in den POM-Dateien angegeben, und erstellt ein Aktivität die zur Anzeige dieser Begriffe verwendet werden können. Weitere Informationen dazu, wie das Tool die Ergebnisse findet Lizenzinformationen für Pakete und Pakete.
Gradle-Plug-in hinzufügen
Führen Sie in der Build-Datei auf Stammebene die folgenden Schritte aus:
- Fügen Sie den Maven-Code von Google .
- Fügen Sie den Abhängigkeiten das Plug-in
oss-licenses
hinzu.
Das folgende Code-Snippet zeigt diese Schritte:
Kotlin-DSL
buildscript { repositories { ... google() // maven { url("https://maven.google.com") } for Gradle <= 3 } dependencies { ... classpath("com.google.android.gms:oss-licenses-plugin:0.10.6") } }
Grooviges DSL
buildscript { repositories { ... google() // maven { url "https://maven.google.com" } for Gradle <= 3 } dependencies { ... classpath 'com.google.android.gms:oss-licenses-plugin:0.10.6' } }
Wenden Sie das Plug-in in der Build-Datei auf App-Ebene an, indem Sie die folgende Zeile hinzufügen
unter der vorhandenen Deklaration des com.android.application
-Plug-ins auf der
zum Anfang der Datei:
Kotlin-DSL
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
Grooviges DSL
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
Sie können die Code dafür. auf GitHub.
Bibliothek zur App hinzufügen
Füge im Abschnitt dependencies
der Build-Datei auf App-Ebene eine Abhängigkeit von der oss-licenses
-Bibliothek hinzu:
Kotlin-DSL
implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")
Grooviges DSL
implementation 'com.google.android.gms:play-services-oss-licenses:17.1.0'
Lizenzinformationen anzeigen
Beim Erstellen Ihrer App verarbeitet das Gradle-Plug-in die Lizenzen und fügt sie Ihrem
die Ressourcen Ihrer App. Du kannst eine Aktivität starten, um die Lizenz ganz einfach anzeigen zu lassen
der von der play-services-oss-licenses
-Bibliothek in einem geeigneten
in Ihrer App platzieren, wie im folgenden Code-Snippet gezeigt:
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));
Beim Start zeigt diese Aktivität eine Liste von Open-Source-Bibliotheken an, in deiner App kompiliert, einschließlich der Bibliotheken, die Teil von Google Play sind wie in Abbildung 1 dargestellt. Nutzer können auf den Namen der Bibliothek tippen, um sie anzusehen. zusätzliche Lizenzinformationen für diese Bibliothek.
Abbildung 1. Im Menü „Lizenzen“ ist eine auswählbare Liste Quellbibliotheken, die eine Anwendung verwendet.
Titel der Aktivität festlegen
Standardmäßig trägt die angezeigte Aktivität den Titel „Open-Source-Lizenzen“. Sie können
den Titel der Aktivität anpassen, indem Sie
setActivityTitle()
,
Dies wird im folgenden Code-Snippet gezeigt:
Kotlin
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))
Java
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));
Design auf die Aktivität anwenden
Sie können der Aktivität ein Design zuweisen, das zu dem Design Ihrer App passt.
andere Aktivitäten. Nehmen Sie dazu die Aktivitäten zu Open-Source-Lizenzen in einer
<activity>
-Element in der Manifestdatei deiner App, wie im Folgenden gezeigt.
Code-Snippet hinzu:
<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>
So wird die Liste der Lizenzen ermittelt
Beim Kompilieren scannt das Gradle-Plug-in die POM-Abhängigkeiten der
Projekt arbeiten. Wenn für eine direkte Abhängigkeit der App ein Maven-POM vorhanden ist,
verarbeitet jede <licenses>
und bettet den Link und den Titel jeder Lizenz in ein Android-Asset ein, das automatisch
die in Ihrer App enthalten sind.