안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요~
서비스를 만들고 다른 프로세스에서도 사용할 수 있도록 하기 위해서 AIDL로 Interface를 만들려고 합니다.
AIDL의 스팩을 따라서 했다고 했는데.. import시 계속 "couldn't find import for class com.testk.TestServiceData" 와 같은 오류가 나네요.
TestServiceData 는 Parcelable 인터페이스를 구현하고 있구요 com.testk 패키지에 있습니다.
aidl 파일또한 com.testk 패키지에 포함되어 있구요.
----- IService.aidl ---------------------------
package com.testk;
import com.testk.TestServiceData;
interface IService
{
void Test(out TestServiceData data);
}
---------------------------------------------
Eclipse에서 작업하고 있습니다. 혹시 aidl에 import를 사용하려면 aidl tool의 값을 수정해야 되나요?
하루종일 자료를 찾아봤지만.. 제가 원하는 답이 없네요. ㅡㅠ
혹시 고수님들 아시는분 있나요???
도와주세요~~~
2010.07.07 17:26:06
저도 하루종일 이것 때문에 고생했는데요....
우선 안드로이드 sdk가 설치 되어 있는 디렉토리로 이동 하시고요.
platforms\android-3, platforms\android-4, platforms\android-7, platforms\android-8 등의 디렉토를 볼수 있습니다.
만약 작성하고 있는 어플의 버전이 froyo 라면 platforms\android-8 로 이동 하세요.
framework.aidl 이라는 파일이 보일겁니다. (framework.aidl 파일은 각 버전 디렉토리에 모두 있습니다.)
그 파일을 열어서 님의 경우에는
parcelable com.testk.TestServiceData; => 이렇게 한줄을 넣어 주세요...
그런다음에, 개발중인 aidl 파일을 수정 (빈공간에서 엔터를 쳐도 됩니다.
수정후에 저장해야 적용이 되더라구요..) 하고 빌드하면 됩니다.
우선 안드로이드 sdk가 설치 되어 있는 디렉토리로 이동 하시고요.
platforms\android-3, platforms\android-4, platforms\android-7, platforms\android-8 등의 디렉토를 볼수 있습니다.
만약 작성하고 있는 어플의 버전이 froyo 라면 platforms\android-8 로 이동 하세요.
framework.aidl 이라는 파일이 보일겁니다. (framework.aidl 파일은 각 버전 디렉토리에 모두 있습니다.)
그 파일을 열어서 님의 경우에는
parcelable com.testk.TestServiceData; => 이렇게 한줄을 넣어 주세요...
그런다음에, 개발중인 aidl 파일을 수정 (빈공간에서 엔터를 쳐도 됩니다.
수정후에 저장해야 적용이 되더라구요..) 하고 빌드하면 됩니다.
저도 이문제로 인해 고민중입니다.
분명 import하지 않으면 파라메터를 알수없다는 에러가 나오네요
혹 해결하셧다면 해결방법을 공유해주실수있을까요?