2014-03-12 5 views
1

В настоящее время я использую удаленную службу в проекте Android. Я определил интерфейс в двух файлах aidl, которые хранятся в папке /src моего сервисного проекта.Можно ли размещать файлы помощи в одном месте?

Теперь у меня есть другой проект, который связывается с сервисом. Для этого я должен, однако, поместить файлы aidl из моей службы в папку /src моего проекта приложения.

This act is described here.

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

Есть ли способ централизовать файлы aidl?

+0

В Eclipse вы можете поместить AIDL в папку «связанного источника», на которую ссылаются оба проекта. – NickT

+0

Для получения более подробного объяснения см. Мой ответ на http://stackoverflow.com/questions/4656689/aidl-interface-between-two-applications/4657649#4657649 – NickT

+0

Спасибо! Я создал новый проект библиотеки только с файлами helpl и связал с ним другие проекты. Все работает нормально. – user3394244

ответ

0

Вы можете создать проект sdk, который содержит ваши все файлы helpl, и проект sdk может быть включен во все приложения, в которых вы хотите использовать.

SDK проект может быть создан путем изменения кода в build.gradle файл из:

apply plugin: 'com.android.application' 

к:

apply plugin: 'com.android.library' 

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

enter image description here

После создания этого проект SDK просто добавить этот проект в вашем другом проекте, просто добавив следующий код в settings.gradle:

include ':sdk' 
project(':sdk').projectDir = new File("../**location of sdk**") 

Надеется, что это помогает.