Skip to main content

Android Build를 위한 Local Repository를 만들자 (1/2)

오늘 따라 자주 글을 적는군요…

삘 받았을 때 적어야합니다.

최근에…. 아니 요..전에 eclipse를 사용해서 안드로이드 어플리케이션을 제작했던 적을 생각해봅시다.

각종 필요한 라이브러리들을 다운로드 받아서 프로젝트의 lib폴더에 넣어두고 프로젝트 세팅에서
Class Path를 걸어주고 lib가 참조가 되면 그때부터 해당 lib를 포함한 빌드를 할 수 있었었죠.

최근에 Android 개발툴이 Android Studio로 변경되었습니다. 아니 바꿔야만 했습니다. (쿨럭..)

InteliJ기반의 Gradle을 사용한 빌드로 바뀌었습니다. (InteliJ너무 좋아요 좋아죠 좋아요 좋아요)

너무 좋아졌어요…

그런데 약간의 부담이 있습니다. 사용 방법이 전혀 달라졌어요..

Build.gradle(Mobile:app) 파일을 편집하여 빌드에 대한 세팅을 하며, 사용하고 싶은 lib를 추가하여 사용하게 되었습니다.
물론.. 다음 파일을 보시면 아시겠지만 기존의 lib폴더의 파일들도 추가하여 빌드 할 수 있습니다.
dependency라고 부르더군요 .. 의존성..(전 영어를 잘 못..)

android {
    compileSdkVersion 22
    buildToolsVersion '22.0.1'
} 
//중략... 
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.google.android.gms:play-services-analytics:7.3.0'
    compile files('libs/commons-io-2.1.jar')
    compile files('libs/android-support-v4.jar')
    compile 'com.google.guava:guava:18.0'
}

문제는 여기에 있습니다. 패키지로 빌드에 추가되는 lib들인데요.
일일히 찾아서 다니지 않아도 패키지명:버전만 적어주면 얼마나 편리합니까 ㅠ_ㅠ)
다만, 네트워크를 통해서 jcenter라는 곳에서 받아오기 때문에 속도도 느리고,
jcenter가 접속 되지 않으면, 빌드가 망하게 되지 않을까요.. ㅠ_ㅠ)

그래서 Local Repository를 만들어 보기로 했습니다.

같은 프로젝트를 동시에 진행하는 동료가 있다면! 강추 드립니다.
Local Repository를 사용하여 서로 같은 패키지 버전을 사용 할 수 있도록도 해준다고 합니다.

이미 알아체신 분도 계셨겠지만.. 서버를 설치할겁니다. Repository서버를…

sonatype Nexus Community Edition을 설치할겁니다.

다음 사이트에 접속합니다.

http://www.sonatype.org/nexus/go/

윈도우를 사용하며 개인적으로 혼자 사용하실 분은 zip 버전을
다른분과 같이 사용하시고 싶다면 (로컬)리눅스 서버에 설치하실려면 tar.gz버전을 다운로드 합니다.

“적당한곳”에 압축을 해제합니다.

“적당한곳\bin” 폴더에 가보시면 nexus.bat(윈도우용)와 nexus(리눅스용) 가 있습니다.
윈도우용은 nexus.bat install로 서비스에 등록하고 nexus.bat start로 시작하셔서 사용하실 수 있습니다.
(프롬프트에서 입력하셔야 합니다.)
리눅스용은 컨피그 파일을 조금 만져주셔야 합니다. 실행하는 유저를 지정해야 했던것 같습니다.(가물…)

정상적으로 실행되면 브라우저를 실행하여 다음 주소를 입력해봅니다.

http://localhost:8081/nexus

그럼 다음과 같은 사이트가 실행됩니다.

nexus_repos

로그인은 admin / admin123

입니다.

일단 설치하셨으면 절반은 끝났습니다. ㅠ_ㅠ)

자자 글이 너무 길어졌으니 다음 포스트로 넘기렵니다.