oss-licenses-plugin を使うと、アプリが依存するOSSライブラリのライセンス一覧画面を簡単に表示できる。

依存の追加

settings.gradle.ktspluginManagement ブロックに resolutionStrategy を追加する。

pluginManagement {
    resolutionStrategy {
        eachPlugin {
            if (requested.id.id == "com.google.android.gms.oss-licenses-plugin") {
                useModule("com.google.android.gms:oss-licenses-plugin:0.12.0")
            }
        }
    }
}

libs.versions.toml にバージョンとライブラリ、プラグインを追加する。

[versions]
ossLicenses = "17.5.1"
ossLicensesPlugin = "0.12.0"

[libraries]
play-services-oss-licenses = { module = "com.google.android.gms:play-services-oss-licenses", version.ref = "ossLicenses" }

[plugins]
oss-licenses = { id = "com.google.android.gms.oss-licenses-plugin", version.ref = "ossLicensesPlugin" }

app/build.gradle.kts にプラグインと依存を追加する。

plugins {
    alias(libs.plugins.oss.licenses)
}

dependencies {
    implementation(libs.play.services.oss.licenses)
}

OssLicensesMenuActivity の呼び出し

import android.content.Intent
import com.google.android.gms.oss.licenses.v2.OssLicensesMenuActivity

context.startActivity(Intent(context, OssLicensesMenuActivity::class.java))

実行するとライセンス一覧が表示される。

ライセンス一覧

タイトルを変更する

タイトルを変更するにはOssLicensesMenuActivity.setActivityTitle()を事前に呼び出す。

OssLicensesMenuActivity.setActivityTitle("ライセンス一覧")
context.startActivity(Intent(context, OssLicensesMenuActivity::class.java))

タイトル

テーマを変更する

OssLicensesMenuActivityは一部のスタイルを変更できる。
変更する場合は事前にOssLicensesMenuActivity.setTheme()を呼び出す。

val lightColorScheme =
  lightColorScheme(
    surface = Color(0xFFD0BCFF),
    onSurface = Color(0xFF000000),
  )
val darkColorScheme =
  darkColorScheme(
    surface = Color(0xFFD0BCFF),
    onSurface = Color(0xFF000000),
  )
OssLicensesMenuActivity.setTheme(lightColorScheme, darkColorScheme, null)
context.startActivity(Intent(context, OssLicensesMenuActivity::class.java))

テーマ

debugビルドでライセンス一覧をすべて表示する

debugビルドでライセンス一覧をすべて表示する方法は 【Android】debugビルドでoss-licenses-pluginのライセンス一覧をすべて表示する を参照。