使用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編譯時找不到自定義類的解決辦法,希望對大家有所幫助!
新聞熱點
疑難解答
圖片精選