Android 是否可以在一个位置托管aidl文件?

Android 是否可以在一个位置托管aidl文件?,android,service,ipc,aidl,Android,Service,Ipc,Aidl,目前我在一个android项目中使用远程服务。我在两个aidl文件中定义了接口,它们存储在我的服务项目的/src文件夹中 现在我有了另一个绑定到服务的项目。但是,为此,我必须将我的服务中的aidl文件放在我的应用程序项目的/src文件夹中 现在我有两次相同的aidl文件。假设我在自己的项目中有100个客户端应用程序。现在,如果我想在 AIDL 文件中改变一些东西,我必须考虑它们的每一个副本,它们不是很好……/P> 有没有办法集中化aidl文件?您可以创建一个包含所有aidl文件的sdk项目,并

目前我在一个android项目中使用远程服务。我在两个
aidl
文件中定义了接口,它们存储在我的服务项目的
/src
文件夹中

现在我有了另一个绑定到服务的项目。但是,为此,我必须将我的服务中的
aidl
文件放在我的应用程序项目的
/src
文件夹中

现在我有两次相同的
aidl
文件。假设我在自己的项目中有100个客户端应用程序。现在,如果我想在<代码> AIDL 文件中改变一些东西,我必须考虑它们的每一个副本,它们不是很好……/P>
有没有办法集中化
aidl
文件?

您可以创建一个包含所有aidl文件的sdk项目,并且该sdk项目可以包含在您想要使用的所有应用程序中

通过更改
build.gradle
文件中的代码,可以创建sdk项目:

apply plugin: 'com.android.application'
致:

现在,您可以将所有
*.aidl
文件包含在任何文件夹下,如下图中的文件层次结构所示:

创建此sdk项目后,只需在
设置中添加以下代码,即可将此项目添加到其他项目中。gradle

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

希望这能有所帮助。

在Eclipse中,您可以将AIDL放在两个项目都引用的“链接源”文件夹中。有关更多详细说明,请参阅我的答案以感谢您!我创建了一个只包含aidl文件的新库项目,并将其他项目链接到它。一切正常。@NickT,请添加您的评论作为对问题的回答,并使用3394244,请接受它。
include ':sdk'
project(':sdk').projectDir = new File("../**location of sdk**")