Java Android Studio,aidl拒绝从定义包裹的aidl文件生成代码。为什么?

Java Android Studio,aidl拒绝从定义包裹的aidl文件生成代码。为什么?,java,android,Java,Android,首先,这可能是重复的,但是我已经搜索了好几个小时试图修复这个错误,并且没有找到任何关于这个主题的页面帮助我修复我的错误。以下是我去过的一些地方: (……) Test.java(实现可包裹): TestService.aidl(提供返回测试对象的方法): 当我在消息gradle build中重建项目时,输出的错误显示: C:\Users…\TestService.java “错误:找不到符号类测试” 任务“:app:compiledBugJavaWithJavaC”的执行失败 编译

首先,这可能是重复的,但是我已经搜索了好几个小时试图修复这个错误,并且没有找到任何关于这个主题的页面帮助我修复我的错误。以下是我去过的一些地方:

  • (……)
Test.java(实现可包裹):

TestService.aidl(提供返回测试对象的方法):

当我在消息gradle build中重建项目时,输出的错误显示:

C:\Users…\TestService.java

  • “错误:找不到符号类测试”
任务“:app:compiledBugJavaWithJavaC”的执行失败

编译失败;有关详细信息,请参阅编译器错误输出

当我检查Gradle控制台时,我发现错误与此相关:

“aidl.exe E 02-28 12:08:49 8288 4608 aidl.cpp:580]拒绝从定义包裹的aidl文件生成代码”

我尝试将Test.java与Test.aidl和TestService.aidl放在同一个包中,但它没有修复它。 还尝试重新创建Test.java和Test.aidl,但都没有成功。 还试图查看android.mk在我的项目中的位置,但没有找到它,它要么不存在,要么在我不知道的路径上。(也找不到jni文件夹)


有人能帮我找到一个答案,为什么当我试图通过我自己的物体时,aidl不工作/失败?当我尝试传递一个基本数据类型时,它工作得很好(例如:如果我尝试传递一个int而不是一个测试,它工作得很好)。

在Test.aidl中的包名
com.app.pack.aidl
与Java代码中的
com.app.pack.classes
之间存在不匹配;他们需要匹配


就我自己的项目而言,
拒绝生成代码
错误可以忽略;没有任何代码可以从没有定义接口的文件生成,但是该工具会盲目地为所有*.aidl文件运行
aidl.exe

谢谢您的帮助。当时我一直在解决这个问题,但至少现在我知道为什么它不起作用了。
package com.app.pack.classes;

public class Test implements Parcelable {

private int test = 33;

protected Test(Parcel in) {
    test = in.readInt();
}

@Override
public void writeToParcel(Parcel dest, int flags) {
    dest.writeInt(test);
}

@Override
public int describeContents() {
    return 0;
}

public static final Creator<Test> CREATOR = new Creator<Test>() {
    @Override
    public Test createFromParcel(Parcel in) {
        return new Test(in);
    }

    @Override
    public Test[] newArray(int size) {
        return new Test[size];
    }
};
}
package com.app.pack.aidl;
parcelable Test;
package com.app.pack.aidl;
import com.app.pack.aidl.Test;

interface TestService{
Test getAll(in int[] listOfInts);
}