Не можете использовать файлы .aidl в разных проектах библиотеки? - PullRequest
3 голосов
/ 14 февраля 2012

В духе повторного использования кода я пытаюсь создать несколько библиотечных проектов. Тем не менее, я, кажется, столкнулся с проблемой определения файлов .aidl, которые охватывают библиотеки. Вот проблема:

В библиотеке A у меня есть Foo.java и Foo.aidl. Foo.java Parcelable, поэтому объявление aidl:

Foo.aidl:

package com.example.library.A;
parcelable Foo;

Теперь я пытаюсь создать библиотеку B. В библиотеке B я хочу определить интерфейс службы, который использует класс Foo:

IMyService.aidl:

package com.example.library.B;
import com.example.library.A.Foo;

interface IMyService {
    void requestSomething(in Foo fooBug);
}

Этот файл не компилируется с жалобой на невозможность найти импорт для Foo. Я пытался ссылаться на библиотеку A и пытался добавить проект библиотеки в качестве внешнего jar, но ни один из них не работает.

Есть ли ограничение, о котором я не знаю? Что-то не так с настройкой моего проекта ??

Вероятно, я должен упомянуть, что я использовал библиотеку A непосредственно в проекте без проблем, поэтому я уверен, что проблема не в lib A.

1 Ответ

1 голос
/ 19 марта 2012

У меня это работает, но я не доволен решением.В lib B мне пришлось добавить пакет com.example.library.A и скопировать в него файл Foo.aidl.

...