Android 如何在.aidl文件中导入第三方类
我想在自己的流程中创建一个服务,以便与不同的应用程序通信 我遵循此指南,但对.aidl文件有问题 这是我的aidl界面:Android 如何在.aidl文件中导入第三方类,android,rx-java,aidl,Android,Rx Java,Aidl,我想在自己的流程中创建一个服务,以便与不同的应用程序通信 我遵循此指南,但对.aidl文件有问题 这是我的aidl界面: // MyAidlInteface.aidl package my.package; import rx.Observable; interface MyAidlInterface { Observable<Integer> getPid(); } //MyAidlInteface.aidl 包我的包; 进口接收。可观察; 接口MyAidlInter
// MyAidlInteface.aidl
package my.package;
import rx.Observable;
interface MyAidlInterface {
Observable<Integer> getPid();
}
//MyAidlInteface.aidl
包我的包;
进口接收。可观察;
接口MyAidlInterface{
可观测的getPid();
}
Android Studio给了我以下错误,我不知道该怎么办:
找不到rx类的导入。可观察
这里有两个问题:
rx.可观察的AIDL声明
。这就是问题的根源
AndroidStudio错误。AIDL不是Java。只是因为
rx.Observable
对Java编译器可见并不意味着它是可见的
对AIDL编译器可见。对于你自己的理智来说,这很重要
将所有AIDL放在一个单独的顶级源中是有意义的
文件夹。如果它没有与Java混淆,则会出现如下错误
更容易被发现rx.Observable
的AIDL可见声明必须说明
比如:显然,这是行不通的<代码>接收。观察员不可包裹。为了完成您试图执行的操作,您必须创建一个具有AIDL定义的可包裹对象,即
观察者的代理
,请解释一下如何创建观察者的可包裹对象(代理)?我不知道如何实现这一点,比如:
package rx;
parcelable Observer;