안드로이드 프로그램을 하다가, 이클립스에서 @SuppressLint(“NewApi”) 혹은 @SuppressLint(“Activity”) 관련 경고를 보낼 때가 있다.
앞뒤를 몰라서 조금 당황했는데, 그리 어려운 게 아니라서 기록으로 남긴다.
1. "Lint" 라는 건 원래 오류 보정해 주는 툴, 라이브러리 같은거다. 주로 컴파일 타임에서 오류를 미리 예측해 사용자에게 알려주는 스타일이다. 쉽게말해 "에러날지, 경고로 끝나고 돌아가기는 할 지, 실행은 되다가 중간부터 에러날지" 는 모른다는 것. ( 사실은 알 수도 있는데, 그게 중요한 건 아니고 )
포인트는 "오류의 가능성이 있는 코드 부분을 알려주는 툴 혹은 시스템" 정도.
2. Suppress 는 영어로 "억압하다" 정도의 뜻이다.
조합하면 감 나오지 않음?
즉, SuppressList 라는 에러는, "오류가 발생할 가능성이 있는 코드가 있다" 라고 사용자에게 알려주는 거다.
그러므로, 이런 경우에는
3. 오류가 날 가능성이 있는 코드를 지워버리거나
4. 해당 코드와 엮인 다른 리소스들을 조정하는
방법이 있다.
내 경우는 NFC 카드 관련 어플 작성하다가 해당 경고가 떴는데,
어떻게 할 줄 몰라서 방황하다가, 그냥 안드로이드의 실행 + 컴파일 대상 API 를 4.0 이상으로 올려버렸다.( 이게 히스토리가 좀 있는데, 안드로이드의 NFC 기능이 맨 처음 추가된 건 2.3 버전이지만, API가 중간에 좀 바뀌어서 4.0 버전이 되어서야 편하게(?) 쓸 수 있게 됨 )
같은 상황에 접했을 때 다른사람들이 삽질하지 않도록 기록함.
참고 : 해당 에러에 대한 StockOverflow 의 내용
'프로그램 > 안드로이드' 카테고리의 다른 글
Android 에서, 문자 발송 성공/실패 처리. (0) | 2014.08.13 |
---|---|
안드로이드에서 다이얼로그를 중첩해서 쓸 수 있을까? 화면 진행은 중단될까? (0) | 2014.07.22 |
Android의 AndroidManifest.xml 에서 Google Play Service 관련 오류 발생 해결. (0) | 2014.04.15 |
안드로이드에서 레이아웃 추가했는데, cannot be resolved or is not a field 에러 날 때. (0) | 2014.04.08 |
안드로이드 + 이클립스에서 Android SDK 를 업뎃하라고 나오는데, 업뎃하면 에러 떨어질 때. (0) | 2014.04.07 |