세라쌤의 IT 튜토리얼

API 29 내 모듈을 git에 올려두고 jitpack으로 배포하자 (Kotlin) 본문

Android

API 29 내 모듈을 git에 올려두고 jitpack으로 배포하자 (Kotlin)

issell 2020. 4. 17. 04:32

안드로이드 모듈 배포 시 app까지 배포해야하는 것이 기본인데, 이게 보기 싫다면 순수 모듈만 배포할 수 있는 방법이 있다. 

 

1. 모듈 프로젝트 만들기 

2. git에 올리고 배포하기 

3. 가져다쓰기

 

참고한 블로그)

https://thdev.tech/androiddev/2016/09/14/Android-AAR-Publish-Jit/

 

Android Module을 JitPack을 이용하여 배포하기 |

I’m an Android Developer.

thdev.tech

https://today-shot.tistory.com/entry/Gradle-%EB%B9%8C%EB%93%9C-%EA%B0%80%EB%8A%A5%ED%95%9C-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EB%AA%A8%EB%93%88-%EC%83%9D%EC%84%B1

 

[Android Library] 빌드 가능한 안드로이드 라이브러리 모듈 생성 후 다른 프로젝트에 참조하기

포스팅 OS : Mac 검색어 : 안드로이드(Android), 자바(Java), 라이브러리(Library), 모듈(Module), 생성(Create), 변환(Convert), 참조(reference) 오늘 포스팅 할 내용은 빌드 가능한 라이브러리 모듈 생성 방법..

today-shot.tistory.com

 

1. 모듈 프로젝트 만들기 

안드로이드 스튜디오 > New > New Project

 

 

 

 

Add No Acitivty > NEXT

 

 

 

 

이름은 아무렇게 짓고 FINISH

 

 

 

 

 

이제 app을 삭제할 차례다.

파일 시스템을 열자.

프로젝트 > app > libs, src, build.gradle 3개를 app 밖으로 뺀다.

그 후 app은 삭제 한다. (프로젝트의 build.gradle은 덮어쓴다. 어차피 수정해야 한다.)

app 에서 3개 선택

 

 

 

 

프로젝트 바깥으로 뺀다. 그 뒤 app 폴더는 삭제한다.

 

 

 

 

setting.gradle의 모든 내용을 삭제한다. (이 프로젝트는 application이 더이상 아니므로)

setting.gradle의 모든 내용 삭제

 

 

 

 

밖으로 빼둔 build.gradle을 밑의 내용으로 수정한다. (코틀린 버전. 자바 버전은 이곳)

buildscript{
    ext.kotlin_version = '1.3.20'
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    dependencies{
        classpath 'com.android.tools.build:gradle:3.5.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
apply plugin: 'com.android.library'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'
android {
    compileSdkVersion 29
    defaultConfig {
        minSdkVersion 26  /////// 여러분 것에 맞게 
        targetSdkVersion 29 /////// 여러분 것에 맞게 
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    sourceSets {
        main{
            manifest.srcFile 'src/main/AndroidManifest.xml'
            java.srcDirs = ['src/main/java']
            res.srcDirs = ['src/main/res']
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
        exclude("META-INF/*.kotlin_module")
    }
}

dependencies {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

 

 

 

 

AndroidManifest.xml 에 몇 가지를 삭제한다.

빨간 네모 부분 삭제

 

 

 

 

마지막으로 sync now 로 동기화 작업을 하면 사전 준비는 끝난다.

소스는 늘 하던 곳에 넣는다.

소스 저장 패키지

 

 

 

 

 

테스트할 소스를 작성한다. 

class MyTest {
    fun test(context: Context, message:String){
        Toast.makeText(context, message, Toast.LENGTH_SHORT).show()
    }
}

 

 

 

2. git에 올리고 배포하기 

이제 이 프로젝트를 git에 올려보자.

(안드로이드 스튜디오가 여러분의 git과 연동되어야 한다. )

VCS > Import into Version Control > Share Project on Github

 

 

 

 

Description에 한글은 쓰면 안된다. > SHARE 클릭

 

 

 

 

ADD 한 후 git 에 접속하여 repo에 제대로 올라갔는지 확인

ADD 클릭

 

 

 

 

이제 배포해보자.

git에 접속하여 해당 repo를 클릭하여 release 하면 된다. 

releases > Create New Release

 

 

버전을 쓰고 Publish release를 선택한다. (Title이나 Descrption은 마음대로)

 

버전을 쓰고 Publish release를 선택한다. (Title이나 Descrption은 마음대로)

 

 

 

 

release가 끝나면 jitpack.io 로 접속하여 로그인 한다. 회원가입은 git으로 쉽게 가능하다.

Repositories > 모듈 프로젝트 > Look up > Log가 끝날 때까지 기다린 후 > Get it  

Get it를 클릭하면 배포 끝

 

 

 

get it을 클릭하면 다음과 같은 화면이 뜬다.

(이를 README.md 에 추가해도 되고, 아예 이 사이트를 Link 해도 된다.)

모듈을 수정할 때마다 Commit > Push > release > jipack 배포를 매번 해야한다.

사전에 테스트를 잘 해두거나, SNAPSHOT 을 활용하자

 

 

 

3. 가져다쓰기

 

jitpack은 maven이나 gradle과 다르게 업로드와 배포를 아주 쉽게 할 수 있지만

대신 가져다 쓸 때는 조금 귀찮다. 

 

대상 프로젝트의 build.gradle (Project) 에 다음을 추가한다. 

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

 

 

app의 build.grade 에는 아까 jitpack이 알려준 dependency 를 추가한다.

dependencies {
    ...
    implementation 'com.github.issell:MyModule:1.0.0'  // 여러분의 모듈
}

 

Comments