[Android]:AIDL找不到自定义类

最近在看一些AIDL入门的例子在编译时总是会遇到这种情况:

1.png

项目结构:

screenshot.png

这是《Android开发艺术探索》里的小例子,Book实现了Parcelable接口以通过Binder传输。BookManagerService实现IBookManager接口的两个方法,然后就可以在RemoteActivity(android:process=":remote"开启多进程)中调用这两个方法了:

screenshot.png


看了很多解决方法,主要就是用sourceSets指定对应的源码和资源,大部分都是在build.gradle(Moudle: app)中添加类似:

sourceSets {
    main {
        manifest.srcFile 'src/main/AndroidManifest.xml'
        java.srcDirs = ['src/main/java', 'src/main/aidl']
        resources.srcDirs = ['src/main/java']
        aidl.srcDirs = ['src/main/aidl']
        res.srcDirs = ['src/main/res']
        assets.srcDirs = ['src/main/assets']
    }
}

即把src/main/aidl目录下的自定义类(这里是Book)加入到java.srcDirs里面,因为此目录下的自定类也需要编译,添加后gradle文件形式如下:screenshot.png


编译完成后,整个工程结构就变成了:

screenshot.png

看上去aidl文件跑到了java文件夹,但其实aidl文件夹仍然在main/aidl下面与java文件夹同级:

screenshot.png

看来是自己对gradle的了解还是太少=_=。



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值