오픈소스 라이센스 (OSS) 리스트 출력 (play-services-oss-licenses)

지프치프·약 21시간 전
0

Android

목록 보기
90/90
post-thumbnail

“Android 로봇은 Google에서 제작하여 공유한 저작물을 복제하거나 수정한 것으로 Creative Commons 3.0 저작자 표시 라이선스의 약관에 따라 사용되었습니다.”


개요

프로젝트를 진행하다보면 앱에 사용된 오픈소스 라이브러리들을 리스트로 출력해야하는 경우가 있다. 라이센스 때문에 라이브러리 사용을 명시해야한다던가 ..

구글에서 지원하는 'play-services-oss-licenses' 라이브러리르 사용하면 아주 쉽게 Activity 자체로 만들어낼 수 있다.

사용법

먼저 build.gradle에서 의존성을 추가한다.
project 와 app 레벨 양 쪽에 다 해주어한다.

// build.gradle(project)
// repositories 블록에 'mavenCentral()' 설정이 되어있는지 확인해야한다.
repositories {
	google()
	mavenCentral()
}
dependencies {
	classpath 'com.google.android.gms:oss-licenses-plugin:0.10.4'
}

// build.gradle(app)
// 추가적으로 pulgins 블록에 id를 추가해주어야 한다.
plugins {
	id 'com.google.android.gms.oss-licenses-plugin'
}

dependencies {
	implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0'
}

build.gradle 설정이 끝났다면 sync를 진행하여 라이버리를 import 한 뒤
OssLicensesMenuActivity를 실행하면 끝이다.

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

실행하면 아래와 같은 결과를 볼 수 있다.

매우 간단하게 오픈소스 라이센스들을 출력할 수 있기 때문에
유용하게 사용할 수 있다.

리스트가 출력되지 않을 경우

필자는 처음 사용했을때 아래와 같이 리스트가 정상적으로 사용되지 않았다.

Debug 앱으로 실행시킨거라서 그런건가 싶기도 했지만
딱히 그런 이유일 거 같지는 않아서 좀 더 알아보았더니
빌드할 때 라이브러리에서 오픈소스 라이센스 목록을 json파일로 작성하고
OssLicensesMenuActivity에서 이 json파일을 토대로 리스트를 만든다는 것이다.

필자의 경우 이 json파일이 생성되지 않아서..

./gradlew clean
./gradlew build

Build를 다시 하였더니 정상적으로 리스트가 보였다.
간혹 이 방법도 안된다고 하면 AGP 버전이 낮아서 그런 것일수도 있다고 하니
AGP 버전을 업데이트 하는 것도 참고하면 좋겠다.

개인적으로 공부했던 것을 바탕으로 작성하다보니
잘못된 정보가 있을수도 있습니다.
인지하게 되면 추후 수정하겠습니다.
피드백은 언제나 환영합니다.
읽어주셔서 감사합니다.

profile
지프처럼 거침없는 개발을 하고싶은 개발자

0개의 댓글

관련 채용 정보