AIDL找不到Parcelable类的定义(AIDL unable to find the defi

2019-07-18 02:30发布

我有以下的项目结构。

StockInfo.java是完全正常的。

StockInfo.java(没有错误)

package org.yccheok.jstock.engine;

import android.os.Parcel;
import android.os.Parcelable;

public class StockInfo implements Parcelable {
    ...
    ...

StockInfo.aidl(没有错误)

package org.yccheok.jstock.engine;

parcelable StockInfo;

StockInfoObserver.aidl(错误!)

package org.yccheok.jstock.engine;

interface StockInfoObserver {

    void update(StockInfo stockInfo);
}

AutoCompleteApi.aidl(错误!)

package org.yccheok.jstock.engine;

interface AutoCompleteApi {

    void handle(String string);
    void attachStockInfoObserver(StockInfoObserver stockInfoObserver);
}

然而,Eclipse的抱怨在StockInfoObserver.aidl (它不会抱怨AutoCompleteApi.aidl过,因为它无法处理StockInfoObserver.aidl

参数stockInfo(1)未知类型StockInfo

我尝试了一个小时,但仍然没有能够找到,为什么在AIDL, StockInfo不被认可的,虽然我有

  1. 提供StockInfo.aidl
  2. 提供StockInfo.java

任何的想法?

下面是完整的错误。

注意, AutoCompleteApi.aidl是非常依赖StockInfoObserver.aidl 。 这就是为什么你会看到错误。

我共享整个项目仅供阁下参考: https://www.dropbox.com/s/0k5pe75jolv5mtq/jstock-android.zip

Answer 1:

根据Android文档You must include an import statement for each additional type not listed above, even if they are defined in the same package as your interface

尝试加入这一行StockInfoObserver.aidl

import org.yccheok.jstock.engine.StockInfo;


文章来源: AIDL unable to find the definition of a Parcelable class