본문 바로가기
Android

[Android] Library를 만들고 JitPack으로 배포해보자!

by 안솝우화 2021. 12. 30.
반응형

안녕하세요, 오늘은 안드로이드 라이브러리를 만드는 방법에 대해 알아보겠습니다

우선 들어가기 앞서서 JitPack으로 배포를 하기 위해서는 Github 계정이 있어야 합니다

 

전체 코드

https://github.com/ParkSangSun1/Sample_Library

 

GitHub - ParkSangSun1/Sample_Library: Blog에서 작성한 Sample Library

Blog에서 작성한 Sample Library. Contribute to ParkSangSun1/Sample_Library development by creating an account on GitHub.

github.com

 

 

프로젝트 생성

새로운 프로젝트를 생성해 줍니다. 이때 No activity로 해도 되지만 저는 테스트를 위해서 Empty Activity로 생성하였습니다

 

프로젝트를 생성하면 이런 구조가 보이게 될 겁니다

 

여기서 이제 library 모듈을 만들어야 합니다

File -> New -> New Module을 눌러주시고 Android Library를 선택해 주세요

그리고 원하는 이름을 적고 FINISH를 눌러주세요

다 만들어졌다면 이곳에 클래스를 하나 만들어주세요

 

ShowLibrary.kt

class ShowLibrary {
    
    companion object{
        
        fun sToast(context: Context, msg : String) = Toast.makeText(context,msg,Toast.LENGTH_SHORT).show()
        
        fun lToast(context: Context, msg : String) = Toast.makeText(context,msg,Toast.LENGTH_LONG).show()
    }
}

간단하게 Toast 메시지를 단축시켜 띄우는 라이브러리입니다

이렇게 코드를 작성했으면 Library모듈의 build.gradle로 가서 몇 가지를 추가해줍니다

plugins {
   ...
    id 'maven-publish'
}

afterEvaluate {
    publishing{
        publications{
            release(MavenPublication){
                from components.release
                groupId = 'com.pss(패키지 이름)'
                artifactId = 'Library(모듈 이름)'
                version = '1.0'
            }

            debug(MavenPublication) {
                // Applies the component for the debug build variant.
                from components.debug
                groupId = 'com.pss(패키지 이름)'
                artifactId = 'Library(모듈 이름)'
                version = '1.0'
            }
        }
    }
}

android {
    ...
}

dependencies {
	...
}

 

이제 app 모듈의 build.gradle로 가서 라이브러리를 implementation 해줍니다

    implementation project(":Library(모듈 이름)")

 

그리고 MainActivity에서 사용해보면 잘 작동하는 걸 확인하실 수 있습니다

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        sToast(this, "테스트 Toast")
    }
}

 

 JitPack에 배포하기 위해서는 최상단 root파일에 jitpack.yml 파일을 추가해야 합니다

jdk:
  - openjdk11

딱 두줄이면 끝납니다

 

 

JitPack 배포

이제 JitPack에 배포를 위해서 코드를 깃허브 Repository에 push후 Releases 합니다 (JitPack은 이 releases 파일을 읽어서 배포합니다)

https://jitpack.io/

 

JitPack | Publish JVM and Android libraries

JitPack makes it easy to release your Java or Android library. Publish straight from GitHub or Bitbucket.

jitpack.io

 

JitPack으로 들어가서 깃허브 로그인 후 (github 이름/Repository 이름) 이런 식으로 검색을 합니다

 

검색 후 Get it을 누르거나 동그라미 프로그래스 바가 돌아가면 Log에 문서가 나올 때까지 기다립니다

위는 성공적으로 마무리했다는 거고 아래는 오류가 있다는 표시입니다. 문서를 누르면 왜 오류인지 알려줍니다

Get it을 누르고 나오는 코드를 implementation 하면 성공적으로 사용할 수 있게 됩니다!

 

추가로

안드로이드 개발에 대한 질문과 정보 등을 공유 및 소통하는 채팅방입니다

https://open.kakao.com/o/gG5PueVd

반응형