代码之家  ›  专栏  ›  技术社区  ›  LLL

无法在aidl中使用自定义类

  •  1
  • LLL  · 技术社区  · 6 年前

    我有两个通过aidl接口进行通信的应用程序。当我使用诸如String或int之类的基本类型时,一切都正常 this 我应该能够使用自定义类型太。但是代码(即使非常简化) 不编译

    它看起来是这样的:

    应用程序/src/main/aidl/edu/cat/ion/ 测试类.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) {
        }
    }
    

    应用程序/src/main/aidl/edu/cat/ion/ :

    package edu.cat.ion;
    
    parcelable TestClass;
    

    在这一点上,代码可以编译,但当我在其他类中编译时:

    import edu.cat.ion.TestClass;
    

    错误:找不到符号

    你知道什么是错的吗?

    1 回复  |  直到 5 年前
        1
  •  2
  •   kiran Biradar    6 年前

    TestClass.java 文件。

    目前您的 位于下面 aidl java 类无法找到。

    所以移动你的

    文件到 java

    app/src/main/java/edu/cat/ion/TestClass.java