使用AS创建ADIL文件时AS会在main文件夹下给我们生成一个aidl文件夹和一个相同包名的包,通常我们会把所有和ADIL相关的类或文件放在这个包下,但是如果存在自定义的类时,程序编译时无法通过,提示找不到自定义的包。解决办法如下,在启动Module的build.gradle中加入如下代码:
sourceSets {main {manifest.srcFile "src/main/AndroidManifest.xml"java.srcDirs = ["src/main/java", "src/main/aidl"]resources.srcDirs = ["src/main/java", "src/main/aidl"]aidl.srcDirs = ["src/main/aidl"]res.srcDirs = ["src/main/res"]assets.srcDirs = ["src/main/assets"]}} 加入之后完整的build.gradle文件内容如下:
apply plugin: "com.android.application"
android {compileSdkVersion 23buildToolsVersion "23.0.2"defaultConfig {applicationId "aidl.aidl.demo"minSdkVersion 14targetSdkVersion 23versionCode 1versionName "1.0"}sourceSets {main {manifest.srcFile "src/main/AndroidManifest.xml"java.srcDirs = ["src/main/java", "src/main/aidl"]resources.srcDirs = ["src/main/java", "src/main/aidl"]aidl.srcDirs = ["src/main/aidl"]res.srcDirs = ["src/main/res"]assets.srcDirs = ["src/main/assets"]}}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"}}}dependencies {compile fileTree(dir: "libs", include: ["*.jar"])testCompile "junit:junit:4.12"compile "com.android.support:appcompat-v7:23.1.1"} sourceSets中主要是把把src/main/aidl文件也作为java.srcDirs, resources.srcDirs,这样当编译程序时,AIDL中自定义类就能找到了。
以上内容给大家介绍了使用Android studio创建的AIDL编译时找不到自定义类的解决办法,希望对大家有所帮助!