Почему .aidl нельзя поместить в проект библиотеки?
-
27-10-2019 - |
Вопрос
Я наткнулся на комментарий этот ответ в котором говорится, что библиотечный проект:
- не может хранить файлы .aidl,
- не может зависеть от другого библиотечного проекта,
- не может держать активы
Что ж, этот комментарий был сделан около полутора лет назад, и я могу вам с полной уверенностью сказать, что пункт №2 уже не соответствует действительности(сентябрь 2010 г.?), потому что у меня есть прекрасно работающий проект, состоящий из проекта библиотеки, который зависит от другого проекта библиотеки.
Итак, моих вопросов два:
- Правда ли, что библиотечный проект не может удержаться?
.aidl
файлы? - Если ответ на вопрос №1 — да, то в чем причина этого?
Кстати, в качестве эксперимента я попробовал разместить IMarketBillingService.aidl
(из примера выставления счетов в приложении) в проекте библиотеки (без чего-либо, что его еще использует), и проект собирается и запускается, как и раньше.Итак, если библиотечный проект по-прежнему не может содержать .aidl
, это должно быть что-то более глубокое...
Решение
Ответ - нет'.Вы можете легко использовать файл AIDL в библиотечных проектах.Я использую такую установку в трех разных проектах.Не помню точно когда, но это исправили некоторое время назад (вероятно, когда в ADT добавили поддержку библиотеки-библиотеки).Причина, по которой раньше это не работало, заключается в том, что сборщик ADT не распознал файл AIDL и не сгенерировал необходимые заглушки Java.