是否可以在一个地方托管aidl文件?

时间:2014-03-12 17:18:42

标签: android service ipc aidl

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

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

This act is described here.

现在我有两次相同的aidl个文件。想象一下,我在自己的项目中有100个客户端应用程序。现在,如果我想更改aidl文件中的某些内容,我必须考虑它们的每个副本,这些副本并不是很好......

有没有办法集中aidl个文件?

1 个答案:

答案 0 :(得分:1)

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

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

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**")

希望这有帮助。