我有两个通过辅助接口进行通信的应用程序。当我使用诸如String或int之类的基本类型时,所有东西都可以工作,但是根据this,我也应该能够使用自定义类型。但是,就我而言,代码(甚至是非常简化的)无法编译。
它是这样的:
app / src / main / aidl / edu / cat / ion / TestClass.java :
package edu.cat.ion;
import android.os.Parcel;
import android.os.Parcelable;
public final class TestClass implements Parcelable {
public TestClass() {
}
protected TestClass(Parcel in) {
}
public static final Creator<TestClass> CREATOR = new Creator<TestClass>() {
@Override
public TestClass createFromParcel(Parcel in) {
return new TestClass(in);
}
@Override
public TestClass[] newArray(int size) {
return new TestClass[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
}
}
app / src / main / aidl / edu / cat / ion / TestClass.aidl :
package edu.cat.ion;
parcelable TestClass;
此时,代码可以编译,但是在其他一些类中,我可以这样做:
import edu.cat.ion.TestClass;
我得到:
错误:找不到符号
导入edu.cat.ion.TestClass;
你知道什么可能是错的吗?
答案 0 :(得分:1)
由于TestClass.java
文件的路径不匹配,您看到此错误。
当前,您的TestClass.java
位于aidl
文件夹下的其他java
类中找不到的文件夹。
因此移动您的
app / src / main / aidl / edu / cat / ion / TestClass.java
文件保存到java
文件夹中。
app / src / main / java / edu / cat / ion / TestClass.java