본문 바로가기
안드로이드(kotlin)

안드로이드 라이브러리 만들고 jitpack으로 배포하기

by 기계공학 주인장 2023. 1. 29.
반응형

안드로이드 라이브러리 만들고 jitpack으로 배포하기

  • 안드로이드 스튜디오를 사용해서 나만의 라이브러리 만드는 방법
  • 만든 라이브러리를 로컬 환경에서 사용하는 방법
  • 만든 라이브러리를 jitpack에 배포하는 방법

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


라이브러리 만들기

1. 일반적인 방법으로 빈 Activity가 들어있는 프로젝트를 생성한다

 

2. 라이브러리가 될 모듈을 새롭게 생성한다

  • 최상위 위치에 새롭게 모듈을 만들어준다
  • 패키지명이 프로젝트의 패키지명과 동일한지 확인한다
  • 생성한 모듈의 이름을 잘 기억해 둔다

 

3. 새로운 모듈 안에 새로운 파일을 넣어준다

  • 라이브러리에 대한 정의가 들어갈 파일이다

 

4. 해당 파일 안에 간단한 동작을 집어넣는다

object TestLibrary {
    fun showToast(context: Context, message: String) {
        Toast.makeText(context, message, Toast.LENGTH_SHORT).show()
    }
}

 

5. main Module 단위 build.gradle에 방금 추가한 라이브러리를 넣어준다

  • 넣는 방법은 다음과 같다
  1. File > Project Structure을 클릭

  1. Dependencies > app > + 를 클릭

  1. Module Dependency를 클릭

  1. 방금 생성한 라이브러리를 추가

  1. Sync Project with gradle files를 실시한다
  • 참고로 본인건 이렇게 되어있다
dependencies {
    ...
    implementation project(path: ':PermissionCatcherLibrary')
}

  • 여기까지 하면 본래의 main Module에 있는 파일에서 새롭게 만든 Module의 코드를 사용할 수 있다

 

6. 생성한 라이브러리 (로컬로) 사용해 보기

  • 기본적으로 있는 MainActivity에서 다음과 같이 로컬로 넣은 라이브러리를 사용할 수 있다
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        TestLibrary.makeToast(this, "라이브러리 테스트입니다.")
    }
}

 


라이브러리를 배포할 수 있도록 세팅하기

  • 이 상태로는 로컬로만 사용할 수 있고 배포를 할 수 없다
  • 배포를 하기 위해선 다음과 같은 세팅이 필요하다

1. targetSDK를 최신 버전으로 맞춘다

  • 최초 jipack으로 라이브러리를 배포하기 위해선 targetSDK를 최신 버전으로 맞춰줘야 한다
    • 현재 기준 최신 targetSDK는 33이기 때문에 변경해 준다
    • 이 부분은 main app 뿐 아니라 라이브러리 부분의 build.gradle 둘 다 해줘야 한다
android{
    compileSdk 33
    .....
          defaultConfig {
              minSdk 26
              targetSdk 33
              ....
     }
}

 

2. 라이브러리 부분의 build.gradle에 필요한 세팅을 한다

프로젝트 단위의 gradle 수정하기

제일 윗부분에 다음과 같은 코드를 추가한다.

buildscript {
    dependencies {
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
    }
}

라이브러리로 사용할 모듈의 gradle 수정하기 

plugins를 다음과 같이 수정한다.

plugins {
    id 'com.android.library'
    id 'org.jetbrains.kotlin.android'
    id 'maven-publish'
}

 

 

퍼블리싱 정보를 여기에 추가해 준다.

  • dependencies의 밖 바로 아래에 아래의 코드를 추가한다
afterEvaluate {
    publishing {
        publications {
            // Creates a Maven publication called "release".
            release(MavenPublication) {
                // Applies the component for the release build variant.
                from components.release

                // You can then customize attributes of the publication as shown below.
                groupId = 'com.github.깃허브 이름'  =  예: mmol93
                artifactId = '공개할 라이브러리의 이름'  =  예: TestLibrary
                version = '버전'  =  예: 1.0.0
            }
            // Creates a Maven publication called “debug”.
            debug(MavenPublication) {
                // Applies the component for the debug build variant.
                from components.debug

                groupId = 'com.github.깃허브 이름'  =  예: mmol93
                artifactId = '공개할 라이브러리의 이름'  =  예: TestLibrary
                version = '버전'  =  예: 1.0.0
            }
        }
    }
}

깃 허브에 프로젝트 업로드 하기

  • jitpack으로 배포를 하기 위해선 github에서 다음과 같은 작업이 필요하다
    1. 깃 허브에 업로드 - 이 부분의 설명은 생략한다
    2. Release

깃 허브에서 Release 하기

아래의 영상과 같이 Create a new release를 사용하여 release를 할 수 있다

그럼 다음과 같이 release가 활성화된 것을 볼 수 있다

image


Jitpack으로 배포하기

Jipack의 링크는 다음과 같다
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

여기에 들어가서 먼저 자신의 github 계정과 연동을 시킨다

그다음

깃 ID/Repository이름을 입력하고 got it을 누른다

이제 got it을 누르면 다음과 같이 톱니바퀴가 돌아간다

image

 

정상적으로 완료되었다면 다음과 같이 초록색 불이 뜬다

image


배포한 라이브러리 사용방법

사실 사용 방법은 방금 배포한 Jitpack 바로 아래에 나와있다

 

image

 

아래의 코드는 setting.gradle에 추가해 준다.

 maven { url 'https://jitpack.io' }

 

그리고 자신이 방금 생성한 dependency를 추가하면 된다.

 

반응형


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


댓글