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