aidl

使用AS创建ADIL文件时AS会在main文件夹下给我们生成一个aidl文件夹和一个相同包名的包,通常我们会把所有和ADIL相关的类或文件放在这个包下,但是如果存在自定义的类时,程序编译时无法通过,提示找不到自定义的包。解决办法如下,在启动Module的build.gradle中加入如下代码:

?
1
2
3
4
5
6
7
8
9
10
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'

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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编译时找不到自定义类的解决办法,希望对大家有所帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值