린트(Lint)는 안드로이드에서 제공하는 정적 분석 툴로, 정확성, 보안, 퍼포먼스, 사용성, 접근성, 번역 등 안드로이드 프로젝트의 다방면을 분석해 준다.
안드로이드 스투디오에서 실행한다면 Project 뷰 > Alalysis > Inspect Code… 를 통해 실행할 수 있다. 안드로이드 스투디오의 code inspection은 안드로이드 린트(Lint)에서 제공하는 분석 결과 외에 오타나, XML 문법 등도 추가적으로 확인해준다.
이클립스(Eclipse) 개발자들이 인텔리제이(Intelli J)나 인텔리제이 기반의 안드로이드 스투디오(Android Studio)로 IDE를 옮기면서 처음에 만나는 불편함을 꼽으라면, 이클립스의 워크스페이스(workspace)가 인텔리제이에는 없다는 것일 듯 하다. 사실 인텔리제이에 이클립스의 워크스페이스에 상응하는 프로젝트라는 개념이 있지만 아래 두 가지 이유로 사람들이 눈치채기 어렵다.
이클립스 워크스페이스를 인텔이제이에서 임포트할 때 워크스페이스 내의 한 프로젝트만 임포트 된다.
프로젝트라는 개념이 이클립스에서는 워크스페이스 내의 소속되는 하위 개념인데 반해, 인텔리제이에서는 최상위 개념으로 그 하위에 하나 이상의 모듈을 포함할 수 있어 용어에서 혼란을 느낀다.
결론부터 말하면, 인텔리제이(나 안드로이드 스투디오)에서 이클립스의 워크스페이스(와 같은 구조)를 사용하고자 한다면 이클립스의 워크스페이스를 File > Import Project를 통해 바로 열면 된다. 위자드에서 몇가지 설정을 묻지만 Next만 눌러도 실행할 수 있도록 워크스페이스를 가져온다. 물론 File > Project Structure를 통해 살펴보면 중복된 라이브러리나 필요없는 설정 등이 있지만 실행에 문제는 없다.
또한 프로젝트 구조를 살펴봐도 아래처럼 이클립스 워크스페이스와 안드로이드 스투디오의 프로젝트 구조가 같다.
workspace structure in Eclipseproject structure in Intelli J
위와 같은 구조를 잡은 후에는 이클립스의 워크스페이스 + 프로젝트과 동일하다고 생각하면 된다. 아래와 같이 모듈(이클립스의 프로젝트)별로 안드로이드 SDK나 keystore등을 지정할 수 있다.
Project Structures in Android Studio
또한 Run/Debug configurations 창을 통해 모듈마다 실행 방법을 지정할 수도 있다.
Run/Debug Configurations in Android Studio
그 밖에
마지막으로, 인텔리제이와 이클립스에서 사용되는 용어는 인텔이제이의 마이그레이션 FAQ에 표로 설명되어 있는데, 이를 옮기면 아래와 같다.
안드로이드를 개발할 때 인텔리제이 기반의 안드로이드 스투디오를 많이 쓰지만, 인텔리제이 프로페셔널/커뮤니티 에디션(이하, 인텔리제이 IDE)에서도 안드로이드 개발이 가능하다. IDE에 기능들이 기본으로 포함되어 있고, 안드로이드 SDK의 AVD 매니저와 SDK 매니저 등의 바로가기도 지원한다.
그런데 처음 인텔리제이 IDE를 설치하면 저 메뉴가 보이지 않는다. 이 때는, 안드로이드 프로젝트를 먼저 하나 만들어 빌드를 하면 된다. 그 후, 확인해보면 위와 같이 Tools > Android > … 밑으로 메뉴가 생길 것이다.
최근 테블릿에 추가된 제한된 프로파일(Restricted Profiles)라는 기능이 있다. 이를 위해 <application> 부분에 requiredAccountType 부분 설정을 추가한 후에 빌드하니 아래와 같은 에러가 뜬다.
Error:(27, -1) android-apt-compiler: [모듈 이름] /Users/sunphiz/workspace/[프로젝트 이름]/[모듈 이름]/AndroidManifest.xml:27: error: No resource identifier found for attribute 'requiredAccountType' in package 'android'
Manifest 파일에서 사용하고 있는 ‘android’라는 네임스페이스에 requiredAccountType에 대한 정보가 없다는 거다. android-apt-compiler의 에러메시지가 좀 불친절해서 헷갈렸는데, 제한된 프로파일 기능은 Android API 18부터 추가되었기 때문에 Project Structure(프로젝트 선택 후 > F4)에서 Module SDK를 API 18로 수정하면 된다.