[android] maven 빌드시 @SuppressLint 오류 발생 해결하기
android 2013. 5. 10. 21:24eclipse에서 android를 개발하다가 겪게 되는 것 중 하나는 노란색 경고줄이 가면서 마우수를 가져가면 아래처럼 이상한 해결 법이 뜨는 것이다.
@SuppressLint 를 추가하면 Lint 에서 해당 코드를 에러로 취급 하지 말라고 선언하는 것이므로, 노란 경고가 보기 싫어서 eclipse가 가이드 하는 대로 @SuppressLint("UseSparseArrays")을 적어줬더니 잘 해결되는 것 같았다. (적어도 내 local 개발 환경에서는 ) 그러나, 빌드 서버에서는 아래와 같은 에러를 뿜고 있군요 ㅠㅠ
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ android ---
[INFO] Compiling 76 source files to /… 생략… /workspace/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /… 생략 … /android/enums/SortType.java:[6,25] package android.annotation does not exist
[ERROR] /… 생략 … /android/enums/SortType.java:[23,2] cannot find symbol
빌드 서버에서는 maven을 이용하여 빌드하고 있는데, 위에서 추가한 어노테이션(annotation)을 인식하지 못하여 발생한 듯 합니다.
이럴때는 pom.xml에 아래를 추가해주면 됩니다.
<dependency>
<groupId>com.google.android</groupId>
<artifactId>annotations</artifactId>
<version>4.1.1.4</version>
</dependency>
출처 : https://code.google.com/p/maven-android-plugin/issues/detail?id=287
위의 dependency를 추가하면 android에서 사용하는 각종 annotation 들을 maven으로 빌드시 인식하여 빌드가 잘 됩니다.