Android 에서 AIDL 적용시에 아래와 같은 에러가 나오는 경우가 있다.
그런데, syntax 상으로는 전혀 문제가 없음에도 에러가 발생한다.
(syntax 상으로 문제가 있을 수 있는 경우는 ';'을 문장의 끝에 넣지 않는 실수를 하는 경우가 있는데,
이는 eclipse 에러 메시지로도 확인할 수 있다)
1. Code (No Syntax Error, but build error occured)
package com.example.aidltest; import com.example.aidltest.ITimeCallback; interface ITimeService { // ... } |
2. Error Message (Build Time)
syntax error don't know what to do with package |
3. 원인분석
- 세부 원인 : Edit 창에서는 보이지 않지만 CR 만 있고 LF 가 없는 경우에 발생한다.
4. Solution
에러가 발생한 위치에서 한칸 띄기를 없애고 다시 "Enter"를 눌러 새로 한칸띄기를 하면 쉽게 해결할 수 있다.
예를 든다면. 위의 코드를 다음과 같이 에디트하면된다.
4.1 첫번째 줄에서 Error 발생
package com.example.aidltest; <<<<< Error : syntax error don't know what to do with package import com.example.aidltest.ITimeCallback; interface ITimeService {
} |
4.2 Eclipse EDIT 창에서 다음과 같이 에러가 난 위치에서 한칸을 지웠다가 다시 한칸을 띄어준다.
A. "Delete"를 이용하여 한칸 띄움을 없앤다.
package com.example.aidltest; import com.example.aidltest.ITimeCallback; interface ITimeService {
} |
B. "Enter"를 눌러 다시 한칸을 띄운다.
package com.example.aidltest; import com.example.aidltest.ITimeCallback; interface ITimeService {
} |
C. 다시 빌드를 해보자
- 에러가 없어지는 것을 알 수 있다.
- 만약 그래도 에러가 사라지지 않는다면 아직 syntax error나 아직 정의되지 않은 class를 사용했을 가능성이 높다.
'Programming > Android' 카테고리의 다른 글
[Android] Listview 를 항상 끝으로 scroll 하기 (0) | 2015.06.18 |
---|---|
[Android] AIDL 을 이용한 Application Activity 및 Service 간 Method Call 과 Callback (0) | 2015.06.14 |
[Android] error: unmappable character for encoding UTF-8 (0) | 2015.06.10 |
[Android] Java enum value 사용 및 참조 방법 (0) | 2015.06.03 |
[Android] try/catch 구문 자동 삽입 (0) | 2015.05.21 |