使用Android studio创建的AIDL编译时找不到自定义类的解决办法

前端技术 2023/09/01 Android

使用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 23
buildToolsVersion \"23.0.2\"
defaultConfig {
applicationId \"aidl.aidl.demo\"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName \"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 false
proguardFiles 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编译时找不到自定义类的解决办法,希望对大家有所帮助!

本文地址:https://www.stayed.cn/item/2990

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。