オープンソースの通知を含める

Google Play 開発者サービスには、オープンソース ライブラリが含まれているか、オープンソース ライブラリに依存していることがあります。 オープンソース ライブラリのライセンス要件を遵守するため、 デベロッパーは、オープン リスティングの通知を適切に表示する責任を負います。 アプリが使用するソース ライブラリ。

Google Play 開発者サービスには、デベロッパーが 使用されているライブラリのオープンソース ソフトウェアに関する通知を 公開されています。こうしたツールの一つに、ライセンス条項を収集する Gradle プラグインがあります。 POM ファイルで宣言されているとおりにインクルードされ、インクルードされているライブラリから アクティビティ キーワードを使用できます詳しくは、このツールによる検出の パッケージのライセンス情報を確認します

Gradle プラグインを追加する

ルートレベルのビルドファイルで、次の操作を行います。

  1. Google Maven リポジトリをご覧ください。
  2. oss-licenses プラグインを依存関係に追加します。

次のコード スニペットに、これらの手順を示します。

Kotlin DSL

build.gradle.kts

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

build.gradle

buildscript {
  repositories {
    ...
    google()  // maven { url "https://maven.google.com" } for Gradle <= 3
  }
  dependencies {
    ...
    classpath '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")
}

グルーヴィー DSL

app/build.gradle

plugins {
    id 'com.android.application'
    id 'com.google.android.gms.oss-licenses-plugin'
}

コード おすすめします。

アプリにライブラリを追加する

アプリレベルのビルドファイルの dependencies セクションに、oss-licenses ライブラリへの依存関係を追加します。

Kotlin DSL

build.gradle.kts

implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")

グルーヴィー DSL

build.gradle

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

ライセンス情報を表示する

アプリがビルドされると、Gradle プラグインがライセンスを処理して アプリのリソースを管理できます。ライセンスを簡単に表示するには、アクティビティを起動してください play-services-oss-licenses ライブラリの適切な これをアプリに追加します。以下のコード スニペットをご覧ください。

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));

このアクティビティを起動すると、サポートされているオープンソース ライブラリのリストが Google Play に含まれるライブラリなど、アプリにコンパイルする 内部 IP アドレスを使用して相互に通信できます図書館の名前をタップすると閲覧可能 そのライブラリの追加ライセンス情報を指定します。

各要素にオープンソースの名前を含むリストビュー
ライブラリ

図 1. ライセンス メニュー アクティビティには、選択可能なオープン リストが アプリが使用するソース ライブラリ。

アクティビティのタイトルを設定する

デフォルトでは、表示されるアクティビティのタイトルは「オープンソース ライセンス」です。Google Chat では を呼び出して、アクティビティのタイトルをカスタマイズする setActivityTitle() これを次のコード スニペットに示します。

Kotlin

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

Java

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 依存関係をスキャンします。 できます。アプリの直接的な依存関係に対して Maven POM が存在する場合、プラグインは 各 <licenses> を処理 要素を追加し、各ライセンスのリンクとタイトルを、 追加できます