使用Android studio创建的AIDL编译时找不到自定义类的解决办法
使用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编译时找不到自定义类的解决办法,希望对大家有所帮助!
相关文章
Android使用ViewPager实现类似laucher左右拖动效果
这篇文章主要为大家详细介绍了Android使用ViewPager实现类似laucher左右拖动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-05-05Android原生TabLayout使用的超全解析(看这篇就够了)
现在很多app都有顶部可左右切换的导航栏,并且还带动画效果,要实现这种导航栏,可以使用Android原生的Tablayout也可以借助第三方框架实现,这篇文章主要给大家介绍了关于Android原生TabLayout使用的相关资料,需要的朋友可以参考下2022-09-09Android中new Notification创建实例的最佳方法
这篇文章主要介绍了Android中new Notification创建实例的最佳方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-08-08Android对话框AlertDialog.Builder使用方法详解
这篇文章主要介绍了Android对话框AlertDialog.Builder使用方法详解的相关资料,需要的朋友可以参考下2016-03-03
最新评论