Android應用聲明Open Source Licenses

本文從下面鏈接翻譯過來:

Open Source Notices

包括開源須知

每個開發人員都有責任適當地顯示須知,以符合開源庫的許可要求。 Google Play服務有時包括或依賴開源庫。
從11.2.0版開始,Google Play服務包含一組工具,旨在爲開發人員提供一種更輕鬆的方式來表達其應用程序中使用的庫的開源軟件聲明。 它包括一個Gradle插件,該插件從其POM文件中聲明的所包含庫中收集許可條款,以及一個可用於顯示這些條款的Activity

添加Gradle插件

在根級別的build.gradle中,確保您正在使用Google Maven存儲庫,並將oss-licenses插件添加到依賴項中:

buildscript {
  repositories {
    // ...
    google()  // maven { url "https://maven.google.com" } for Gradle <= 3
  }
  dependencies {
    // ...
    // Add this line:
    classpath 'com.google.android.gms:oss-licenses-plugin:0.10.1'
  }

在您的應用app/build.gradle中,在這個文件的頂部添加下面代碼來使用插件:

apply plugin: 'com.google.android.gms.oss-licenses-plugin'

插件的代碼可以在github上查看。

將庫添加到您的應用

在app/build.gradle的dependencies部分,添加oss-licenses庫的依賴:

implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0'

顯示許可證信息

在構建應用程序時,Gradle插件將處理許可證並將其添加到應用程序資源中。 爲了輕鬆顯示它們,您可以在應用程序的適當位置觸發play-services-oss-licenses庫提供的Activity:

import com.google.android.gms.oss.licenses.OssLicensesMenuActivity;

// ...

// When the user selects an option to see the licenses:
startActivity(new Intent(this, OssLicensesMenuActivity.class));

這將顯示已編譯到應用程序中的開源庫的列表,無論是否包含Google Play服務。 輕觸庫名稱將顯示該庫的其他許可證信息。

設置Activity的標題

您還可以設置顯示的Activity的標題:

OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));

如何確定許可證

Gradle插件在編譯時掃描項目的POM依賴項。 當存在與應用程序直接相關的Maven POM時,插件將處理<licenses>元素,並將每個許可證的鏈接和標題嵌入最終應用程序APK中的Android資產中。

Note: The list of licenses also includes the full license text of any library that is depended upon by the transitive closure of Google Play services libraries used by the app, i.e. any open source libraries used to create the Google Play services libraries compiled into the app.

發佈了18 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章