2015년 3월 현재 안드로이드 개발자에게는 선택할 수 있는 IDE가 아래와 같이 3종류이다.
- ADT(Android Developer Tools, 이클립스 기반)
- 인텔리제이 커뮤니티 에디션(Intelli J 무료 버전)
- Android Studio(Intelli J 기반의 무료 IDE)
하지만, 구글 공식 IDE는 Android Studio이다. 아직, ADT를 다운로드 받을 수 있지만 이전 글처럼 지원이 종료되었고, Android Studio가 Develop > Tools의 첫 페이지에 있는 것과 달리 ADT페이지는 이미 저 안쪽에 숨겨져 있고 Android Studio 프로젝트로 전환하는 방법이 먼저 보이며, 다운로드 받는 링크를 찾기는 이미 힘들다.
이 소식을 알자마자, 열혈개발자인 나는 구글의 제안에 따라 Android Studio를 사용하기로 결심해버렸다. 내 주변 개발자들은 아직도 ADT를 쓰고 있지만, 나만 바꾸면 되지 않겠나?
이클립스, 인텔리제이 그리고 안드로이드스투디오
아마도 내 마음과 달리 잘 안될 수 있다. 위 세가지 IDE가 지원하는 안드로이드 프로젝트 타입이 다르기 때문이다. 각각 어떤 안드로이드 프로젝트 타입을 지원할까. 안드로이드 스투디오 이동을 염두하여 중요한 프로젝트만 열거해보자.
- 이클립스
- 이클립스 프로젝트
- 인텔리제이
- 인텔리제이 프로젝트
- (Gradle로 빌드되는) 인텔리제이 프로젝트
- 안드로이드 스투디오
- 인텔리제이 프로젝트
- Gradle 기반 안드로이드 프로젝트(위의 Gradle을 빌드스크립트로만 쓰는 경우와는 다름)
위 내용만 보면, 이클립스 프로젝트를 안드로이드 스투디오에서 잘 import 해서 쓰면 되겠지 싶다. 하지만 안드로이드 스투디오에서 지원하는 프로젝트 종류에는 크게 두가지 문제가 있다.
- 안드로이드 스투디오에서는 새 인텔리제이 안드로이드 프로젝트를 만들 수 없고, 열 수만 있다.
- 안드로이드 스투디오에서 이클립스나 인텔리제이 기반 안드로이드 프로젝트를 Gradle 기반의 안드로이드 프로젝트로 import할 때 폴더구조가 완전히 바뀐다.
위와 같은 제약으로 인해, 팀 내 혼자서 안드로이드 스투디오로 이동하면 다른 IDE(특히 이클립스)를 사용하는 개발자와 같은 VCS를 쓸 수가 없다.
그럼 어떻게 IDE를 변경해야 하나?
먼저 개인 개발자라면, 그냥 바꾸면 된다. 폴더 구조가 바뀌는 것은 번거롭지만 한번만 하면 되니 어쨌든 상관 없다.
같은 프로젝트를 여러사람과 개발하고 있다면 좀 머리아프다. 아래와 같이 정리할 수 있다.
- 이쯤되니 머리가 아프다. 그냥 ADT 쓴다. (좋은 생각이다.)
- 인텔리제이에서는 이클립스의 폴더구조를 바꾸지 않고도, 안드로이드 프로젝트를 만들 수 있다. 게다가, 안드로이드 스투디오의 좋은 기능들을 대부분 지원하고 있다. 그러므로, 안드로이드 스투디오 대신에 인텔리제이 커뮤니티 에디션(무료)를 사용하고, 프로젝트 파일(.iml)파일은 로컬에만 두고 쓴다.
- ‘가려면 안드로이드 스투디오로 가야지 무슨 인텔리제이냐’라고 생각한다면, 인텔리제이와 안드로이드 스투디오를 모두 사용하는 방법을 생각할 수 있다. 이클립스 프로젝트를 인텔리제이에서 import한 후에(즉, 인텔리제이 프로젝트로 변환), 이를 안드로이드 스투디오에서 열면 된다. 안드로이드 스투디오에서는 새 인텔리제이 프로젝트를 만들 수 없을 뿐 열 수 있기 때문이다. 물론, 모듈(이클립스의 프로젝트와 같은 개념의 단어)을 추가할 때마다 인텔리제이를 열어야겠지만, 역시 나만 조심해서 쓰면 된다.
- 마지막 방법은 어쩌면 쉬울 수 있다. 일단, 모두 퇴근할 때까지 기다린 후에 이클립스 프로젝트를 안드로이드 스투디오를 통해 Gradle 기반 프로젝트로 변환(폴더구조를 바꾸어 사본 프로젝트를 만들어준다.)한 후에 이를 VCS에 올리고 집에 간다. (조금 더 배려하고 싶다면, 다른 개발자들의 컴퓨터에 안드로이드 스투디오를 설치해줄 수 있다.)
마지막 방법은 물론 농담이다. 위 방법들을 보면 알겠지만, 팀내에서 혼자서만 안드로이드 스투디오로 IDE를 바꾸기는 어렵다. 물론 .gradle 파일을 고쳐 볼 수도 있겠지만, 안드로이드 스투디오에서 제안하는 구조와 방법들로는 어렵다. 너무 무리한 변경이 아니었나도 싶지만, 일단 옮기고 나면 분명 장점이 있다. 그러니, 안드로이드 스투디오로 옮길 때에는 팀 내 의견을 조율하여 함께 진행하는 것이 정답이다.
그 밖에 사소하지만 큰 문제들
인텔리제이는 많은 플러그인을 제공한다. 단, 프로페셔널 버전(유료)에 한해서다. 인텔리제이 커뮤니티 에디션(무료)이나 안드로이드 스투디오의 경우, 자신이 사용하는 형상관리 시스템(VCS)과 연동이 되는지 꼭 확인해야한다. 현재 안드로이드 스투디오에서 연동이 가능한 대표적인 형상관리 시스템은 다음과 같다.
- Git
- Subversion(SVN)
- CVS
- Mercurial
지원되지 않은 대표적인 형상관리 시스템은 아래와 같다.
- Perforce
- Clear Case
참고로, Perforce 같은 경우는 무료 플러그인이 한참 개인 개발자에 의해 만들어지고 있으나 만족스럽지 않다.