1、aidl文件的配置

在Eclipse中建立aidl文件后,ADT会在gen文件夹下会自动生成一个.java文件,调用者可以直接引用;但是在Android Studio开发环境中,新建一个aidl文件,不自动生成.java文件,直接引用的话,会出现如下错误:

Cannot resolve symbol 'IMyAidlInterface'

解决方法一:

在工程的Module目录下的src/main下新建一个aidl文件夹(只将aidl文件放入这个新建的aidl文件夹中,编译是不能通过的),并且在新建aidl文件夹下添加和AndroidManifest中相同包名的package,在这个package下面添加aidl文件。例如添加前的文件目录结构为:

添加完成后的文件目录结构为:

重新编译之后,就可以在app/build/generated/source/aidl/debug/下的package下面生成了相应的.java文件:

解决方法二:

如果你觉得层层创建目录很麻烦,则可以使用下面的方法。 将aidl文件放到你需要放置的路径下,如Module的package根目录src/main/java/package下:

然后在app的build.gradle中加入标识aidl源文件路径的属性aidl.srcDirs:

android {
    compileSdkVersion 22
    buildToolsVersion "21.1.2"

    /*相关代码*/

    sourceSets {
        main {
            aidl.srcDirs = ['src/main/java']
        }
    }
}

重新编译之后,就可以在app/build/generated/source/aidl/debug/下的package下面生成了相应的.java文件:

注:使用上面的gradle配置脚本 aidl.srcDirs = ['src/main/java'] 的时候,如果不放在pakeage的根目录下,也没有问题,放在任何你需要放置的地方:

编译完成后,依然会在相应的build目录下面生成.java文件: