본문 바로가기
  • GDG on campus Ewha Tech Blog
자유 공간

[개발 팁] OSS Licenses Gradle Plugin 사용하기

by akxmcse 2022. 9. 28.

GDSC Ewha 여러분 안녕하세요 :)

오늘은 안드로이드 개발자분들을 위한 사소한 개발 팁을 공유해보고자 합니다.
안드로이드 프로젝트를 진행하다보면 수많은 라이브러리를 사용하게 되는데요, 이 모든 라이브러리를 사용하기 위해 꼭 필요한 과정이 있습니다.
바로 사용한 오픈 소스의 라이센스를 어플리케이션 내에 고지하는 것 입니다.

여기서 잠깐, 오픈소스(소프트웨어)란?


오픈소스 소프트웨어는 누구나 inspect, modify, enhance 할 수 있는 소스코드를 가진 소프트웨어를 말합니다.
오픈소스 소프트웨어를 이용하면 개발 및 수정이 쉽고 배포 또한 자유로워 개발 생태계의 발전에도 큰 도움이 됩니다.
그러나 개발 과정에서 사용한 모든 오픈 소스의 종류와 라이센스 조건을 일일이 찾아서 정리하기란 다소 번거롭게 느껴지기도 합니다.
이러한 불편함을 해소하고자 Google Play services는 개발자가 앱 내에 사용한 라이브러리의 오픈 소스 라이센스를 쉽게 고지할 수 있도록 돕는 툴을 제공합니다.

바로 OSS Licenses Gradle Plugin 입니다.

 

Include open source notices  |  Google Play services  |  Google Developers

Google Play services sometimes includes, or depends upon, open source libraries. To comply with the license requirements of open source libraries, you as a developer are responsible for appropriately displaying the notices for the open source libraries tha

developers.google.com

이 플러그인을 이용하면 프로젝트에 포함된 라이브러리에서 라이센스 조건을 수집하고 목록 형태로 정리하여 자동으로 하나의 액티비티를 생성해 줍니다.

이렇게 글로만 접하면 이 플러그인이 얼마나 간편한 툴인지 감이 잘 안 오는데요, 실제 플러그인을 적용하는 코드와 그 결과물을 보며 더 자세한 설명을 드려보도록 하겠습니다.

 


 

project 레벨의 build.gradle에 아래와 같이 dependencies 항목을 추가해줍니다.

buildscript {
    dependencies {
    	...
        classpath 'com.google.android.gms:oss-licenses-plugin:0.10.4'
    }
}

dependencies 추가

 

다음으로 app 레벨의 build.gradle에 아래와 같이 plugin과 dependencies 항목을 추가해줍니다.

plugins {
	...
    id 'com.google.android.gms.oss-licenses-plugin'
}

plugins 추가

 

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

dependencies 추가

 

마지막으로 오픈소스 라이센스 화면과 연결될 버튼(혹은 텍스트 등의 뷰)을 통해 OssLiscensesMenuActivity를 띄워줍니다.

binding.btn.setOnClickListener {
    startActivity(Intent(requireContext(), OssLicensesMenuActivity::class.java))
}

tvMypageOpenSource라는 textView에 ClickListener를 달아 OssLiscensesMenuActivity를 연결

 

실제 애뮬레이터를 돌려 tvMypageOpenSource에 해당하는 텍스트뷰를 터치해보면 아래와 같이 사용한 오픈소스의 목록과 각 세부 사항이 정리된 액티비티가 로드되는 것을 볼 수 있습니다.

 


 

이렇게 해서 안드로이드 프로젝트에 사용된 오픈소스의 라이센스를 고지하는 플러그인에 대해 간단히 알아보았습니다.
많은 분들께서 이 플러그인을 통해 다양한 라이브러리를 손쉽게 적용하고 개선시켜 나가며 오픈소스에 기여할 수 있기를 바랍니다.

앞으로도 더 유익한 정보가 있다면 본 카테고리를 통해 공유드리도록 하겠습니다.

감사합니다.

 


게시글 내용에 대한 질문, 조언 등은 언제나 환영입니다 :)

'자유 공간' 카테고리의 다른 글

DALL-E와 오픈 AI  (0) 2022.09.28
GDSC 팀블로그 가이드라인 [소모임편]  (0) 2022.09.28

댓글