[Android] 009. OSS Licenses Gradle Plugin(OSSライセンス表示)

よくあるアプリで使用しているライセンス表示
簡単に実装できると思いきやちょっとした罠があったので覚書

使い方はここらへん参照
https://developers.google.com/android/guides/opensource#kotlin
https://github.com/google/play-services-plugins/blob/main/oss-licenses-plugin/README.md

com.google.android.gms:play-services-oss-licensesを追加

buildscript {
    dependencies {
        classpath("com.google.android.gms:oss-licenses-plugin:0.10.6")
    }
}
plugins {
    id("com.google.android.gms.oss-licenses-plugin")
}

テーマはTheme.AppCompatベースを指定しないとダメでした
自分のアプリはテーマをカスタマイズしていたのでハマった…
https://stackoverflow.com/questions/46276818/theme-for-play-services-oss-licenses

<application
    <activity
        android:name="com.google.android.gms.oss.licenses.OssLicensesMenuActivity"
        android:theme="@style/Theme.AppCompat.Light" />

    <activity
        android:name="com.google.android.gms.oss.licenses.OssLicensesActivity"
        android:theme="@style/Theme.AppCompat.Light" />
/application>
val context = LocalContext.current
val intent = Intent(context, OssLicensesMenuActivity::class.java)
context.startActivity(intent)

Android Studio Koala 2024.1.1 Patch 1 built on July 11, 2024