Google Play services plugins의 oss licenses plugin 이용하여 Open Source notices 를 추가합니다.
라이센스에 따라서 사용한 오픈 소스 라이브러리들 명시해야하는 경우가 있습니다. 이러한 번거로움을 해결하기 위해 안드로이드 프로젝트에서 사용한 라이브러리를 자동으로 관리해주는 라이브러리들이 있습니다.
기존에는 관습적으로 AboutLibraries를 사용해 왔습니다.
최근 회사 프로젝트에서 오픈 소스 관련 명시 필요성이 생겨 이왕 붙이는 거 최신 버전을 붙이자! 라는 마인드로 시도를 하다가 Theme 충돌이라는 장벽에 부딪혔습니다.
그래서 새로운 방법을 찾다 공식 문서를 따라 Google Play services plugins의 oss licenses plugin를 이용하기로 했습니다.
방법은 굉장히 간단합니다.
Gradle plugin에 추가하고 activity를 실행해주면 끝납니다.
최상위 Root level 의 build.gradle 에 oss-licenses plugin의 dependency 를 추가합니다.
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.2'
build.gradle(.) 예시
buildscript {
repositories {
// ...
}
// ...
dependencies {
// ...
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.2'
// ...
}
// ...
최상위 App level 의 build.gradle 에 oss-licenses library의 dependency 를 추가합니다.
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0'
build.gradle(:app) 예시
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
// ...
defaultConfig {
// ...
}
buildTypes {
// ...
}
}
dependencies {
// ...
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0'
}
일반적으로 About 페이지의 open source 정보 버튼에서 이동하도록 구현합니다.
버튼 onClick 시에 Activity를 실행하면 됩니다.
startActivity(Intent(this, OssLicensesMenuActivity::class.java))
//ActionBar의 Title을 변경하고 싶은 경우 아래의 코드를 사용하면 됩니다.
OssLicensesMenuActivity.setActivityTitle("Ossl Title")
참고
Including Open Source Notices
Google Play services Plugins