본문 바로가기
programming/android

[Android / 안드로이드] sonatype Nexus 로 Local repository 만들기 - 2

by fluorite94 2018. 10. 19.
반응형

[코딩/Android] - [Android / 안드로이드] sonatype Nexus 로 Local repository 만들기 - 1

 

 

이전 글(sonatype Nexus로 Local repository를 만들기 위해 sonatype Nexus를 설치)에 이어

 

Nexus에 proxy repository를 만들고 필요 lib를 local repository에 저장하는 방법에 대한 설명을 하겠습니다.

 

 android studio에서 라이브러리를 추가할 때에는

build.gradle의 dependencise에 필요 lib를 등록하여 lib를 다운로드해 사용합니다.

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

이런 식으로 필요 라이브러리를 등록만 해주면 대부분은 gradle을 통해 받아올 수 있습니다.

 

gradle의 작동 순서는 

jcenter -> PC에 다운로드 -> 빌드에 사용이지만,

 

이 순서에 이전 포스팅에서 생성하였던 nexus repository를 추가하여

jcenter -> nexus repository -> PC에 다운로드 -> 빌드 하는 순서로 변경해 보겠습니다.

 

이렇게 변경하면 네트워크가 끊겼을 때나, 내부망에서 다운로드하는 과정을 추가로 거치지 않고

사용할 수 있습니다.

 

nexus repository 웹 서버로 접속하여 로그인합니다.

 

 

왼쪽의 Repositories를 클릭하여 생성되어 있는 repository를 확인합니다.

 

 

상단의 Add 버튼을 클릭하여 Proxy Repository를 생성합니다.

 

 

ID와 Name은 원하는 값 아무거나 입력하시면 됩니다.

아래의 Remote Repository Access는 사진과 똑같이 맞춰 주시면 됩니다.

맞추셨으면 저장을 누르고,

remote storage location -> http://jcenter.bintray.com

 

새로운 Proxy Repository를 생성합니다.

 

 

이것도 아까 만든 proxy repository와 동일하게 설정하고 

Remote Storage Location만 google Maven으로 설정합니다.

" https://dl.google.com/dl/android/maven2/ " 

 

 

생성이 완료되었습니다.

우측의 Repository Path를 Android studio project build.gradle에 등록해줍니다.

 

buildscript와 allprojects에 google(), jcenter()를 제거하고 아래와 같이 입력합니다.

buildscript { 
	repositories { 
		maven { 
			url "http://localhost:8081/nexus/content/repositories/jcenterproxy/" 
		} 
		maven { 
			url "http://localhost:8081/nexus/content/repositories/googleproxy/" 
		} 
	} 
	dependencies { 
		classpath 'com.android.tools.build:gradle:3.1.3' 

		// NOTE: Do not place your application dependencies here; they belong 
		// in the individual module build.gradle files 
	} 
} 
allprojects { 
	repositories { 
		maven {
			url "http://localhost:8081/nexus/content/repositories/jcenterproxy/" 
		} 
		maven { 
			url "http://localhost:8081/nexus/content/repositories/googleproxy/" 
		}
	} 
}

이렇게 repository path를 넣으면 상단에 Gradle Sync를 맞추라고 알림이 뜹니다.

sync now를 클릭하여 sync를 맞춥니다.

맞추는 작업이 끝나면 nexus로 돌아가서 proxy repository를 확인합니다.

 

 

생성한 proxy repository를 선택하고 browse Storage를 클릭해보면 빌드시 사용했던

라이브러리들이 local repository에 저장되어 있는 것을 확인 하실 수 있습니다.

 

반응형


댓글