Gradle 빌드는 안드로이드 빌드에 있어서 모두가 알고있던 여러가지 불편한 점을 해결해준다. 예를 들면,
- 안드로이드에서 제공하는 라이브러리들을 최신상태로 유지
- 안드로이드 빌드를 위한 다양한 옵션 제공
- .aar 포멧의 안드로이드 라이브러리 제작 가능
- 안드로이드 스투디오와의 호환
단, 안드로이드 스투디오로 옮기면서 Gradle을 이용한 프로젝트 관리 및 빌드를 강제한 것이 문제다. 기존에 Eclipse나 Intelli J를 사용하던 사람은 Gradle을 이용하지 않고 빌드하려고 최대한 버텨보겠지만, 결국은 Gradle로 빌드하지 않고는 프로젝트를 운영할 수가 없다.
나는 개인적으로 Eclipse 사용자와의 호환성을 유지하기 위해서 Gradle로 이동하지 않았는데, 이제 이동해야할 때가 된 것 같다. 여기서는 Intelli J의 기존 프로젝트에서 Gradle로 빌드되는 프로젝트로 변경하는 법을 안내한다.
기본적인 순서는 이미 안드로이드 사이트에서 안내하고 있다. 간략하게 요약하자면, 아래와 같다.
- Gradle을 다운로드 받아 로컬에 압축을 푼다.
필요하다면, .\bin 폴더를 path에 포함한다. - 아래 페이지에서 소개하듯이 프로젝트를 빌드할 build.gradle 파일을 만든다.
이부분이 제일 어려울 수 있다. Gradle으로 빌드파일을 바꾸는 사람 중의 대부분은 Gradle이 어떻게 생겼는지도 모를테니 말이다. 조금 전에 언급한 가이드 사이트 나 안드로이드 개발자 사이트 내에서 예제를 소개하고 있으니 참고하면 된다. 다만, 가이드 사이트의 경우 예제가 거의 업데이트 안된 것같다. apply plugin에 넣는 파라미터도 android에서 com.android.application으로 바뀌었고, buildToolsVersion도 지금 최신이 22이다.
안드로이드 개발자 사이트 내의 build.gradle파일을 참조하자. 다만, build.gradle 파일 내용은 각 프로젝트마다 천차만별이라 각자가 잘 해보는 수밖에 없다. - “gradle assembleDebug” 명령어를 통해 build.gradle로 프로젝트를 빌드한다.
꽤 자세히 로그메시지를 보여주기 때문에, 차분히 따라가다보면 아래와 같이 빌드를 성공할 수 있다. -
... :compileDebugJava Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. :preDexDebug :dexDebug :processDebugJavaRes :validateDebugSigning :packageDebug :zipalignDebug :assembleDebug BUILD SUCCESSFUL Total time: 1 mins 45.653 secs
- 그 다음은 안드로이드 스투디오에서 File > Import Project나 File > Import Module을 통해 프로젝트를 열면된다.
주의사항
- build.gradle 파일 내에 buildToolsVersion 로 표시한 build tools의 버전이 …\sdk\build-tools 경로 설치되어 있어야한다.
- Android SDK의 위치를 Gradle이 찾을 수 있어야한다. 방법은, 시스템 속성에 선언하거나, 프로젝트 안에 local.properties 파일을 만들어 참조할 수 있도록 해줄 수 있다.
-
sdk.dir=G:/Android/sdk
- Gradle에 대한 전반적인 이해에는 안드로이드 사이트의 Gradle 소개도 유용하다.
참조