Usługi Google Play czasami zawierają biblioteki open source lub są od nich zależne. Aby zachować zgodność z wymaganiami dotyczącymi licencji bibliotek open source, jest odpowiedzialny za prawidłowe wyświetlanie powiadomień dla otwartych bibliotek źródłowych używanych przez aplikację.
Usługi Google Play obejmują zestaw narzędzi, które dają deweloperom jest łatwiejszy sposób na przekazanie informacji o oprogramowaniu open source używanym w bibliotekach. i aplikacjami. Jednym z tych narzędzi jest wtyczka do Gradle, która zbiera warunki licencji z uwzględnionych bibliotek, zgodnie z zadeklarowaniem w plikach POM, i tworzy aktywność których można użyć do wyświetlenia tych haseł. Dowiedz się więcej o tym, jak to narzędzie znajduje informacji o licencjach i pakietach.
Dodawanie wtyczki Gradle
W głównym pliku kompilacji wykonaj te czynności:
- Uwzględnij narzędzie Google Maven .
- Dodaj wtyczkę
oss-licenses
do zależności.
Ten fragment kodu ilustruje te kroki:
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") } }
Świetny 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' } }
W pliku kompilacji na poziomie aplikacji zastosuj wtyczkę, dodając ten wiersz:
zgodnie z istniejącą deklaracją wtyczki com.android.application
na stronie
początku pliku:
Kotlin DSL
plugins { id("com.android.application") id("com.google.android.gms.oss-licenses-plugin") }
Świetny DSL
plugins { id 'com.android.application' id 'com.google.android.gms.oss-licenses-plugin' }
Możesz wyświetlić znajdziesz w serwisie GitHub.
Dodaj bibliotekę do aplikacji
W sekcji dependencies
pliku kompilacji na poziomie aplikacji dodaj zależność do biblioteki oss-licenses
:
Kotlin DSL
implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")
Świetny DSL
implementation 'com.google.android.gms:play-services-oss-licenses:17.1.0'
Wyświetl informacje o licencji
Gdy aplikacja się kompiluje, wtyczka do Gradle przetwarza licencje i dodaje je do
do zasobów Twojej aplikacji. Aby łatwo wyświetlić licencję, możesz uruchomić działanie
które jest dostępne w bibliotece play-services-oss-licenses
na odpowiednim
w swojej aplikacji, jak widać w tym fragmencie kodu:
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));
Po uruchomieniu wyświetla się lista bibliotek open source, które są skompilowane w aplikację, w tym biblioteki należące do Google Play. jak widać na rysunku 1. Użytkownicy mogą kliknąć nazwę biblioteki, aby ją wyświetlić. dodatkowych informacji o licencji na tę bibliotekę.
Rysunek 1. Aktywność w menu licencji zawiera listę otwartych licencji do wyboru. bibliotek źródłowych używanych przez aplikację.
Ustaw nazwę aktywności
Domyślnie wyświetlana aktywność nosi tytuł „Licencje open source”. Dostępne opcje
dostosować tytuł aktywności, dzwoniąc
setActivityTitle()
,
Jak widać w tym fragmencie kodu:
Kotlin
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))
Java
OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));
Zastosuj motyw do aktywności
Do aktywności możesz zastosować motyw, by pasował do motywu używanego w aplikacji
inne działania. Aby to zrobić, uwzględnij aktywność związaną z licencją open source w
<activity>
element w pliku manifestu aplikacji, jak na przykładzie poniżej
fragment kodu:
<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>
Sposób określania listy licencji
Podczas kompilowania wtyczka Gradle skanuje zależności POM specyfikacji
w projektach AI. Gdy istnieje menedżer Maven dla bezpośredniej zależności aplikacji, wtyczka
przetwarza każde <licenses>
i umieszcza link oraz tytuł każdej licencji w zasobie Androida, który
dostępnych w aplikacji.