[Android] Open Source Notices 추가하기

heunghan·2020년 5월 25일
1

Open Source notices

Google Play services plugins의 oss licenses plugin 이용하여 Open Source notices 를 추가합니다.

라이센스에 따라서 사용한 오픈 소스 라이브러리들 명시해야하는 경우가 있습니다. 이러한 번거로움을 해결하기 위해 안드로이드 프로젝트에서 사용한 라이브러리를 자동으로 관리해주는 라이브러리들이 있습니다.

기존에는 관습적으로 AboutLibraries를 사용해 왔습니다.
최근 회사 프로젝트에서 오픈 소스 관련 명시 필요성이 생겨 이왕 붙이는 거 최신 버전을 붙이자! 라는 마인드로 시도를 하다가 Theme 충돌이라는 장벽에 부딪혔습니다.
그래서 새로운 방법을 찾다 공식 문서를 따라 Google Play services plugins의 oss licenses plugin를 이용하기로 했습니다.

Open Source notices 추가하기

방법은 굉장히 간단합니다.
Gradle plugin에 추가하고 activity를 실행해주면 끝납니다.

Gradle plugin 추가

최상위 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'
    // ...
  }
  // ...

Library 추가

최상위 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'
}

OssLicenses 실행

일반적으로 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

profile
Digital Nomad를 꿈꾸는 Android Engineer

0개의 댓글