Android 如果没有行号,如何调试此编译错误?

Android 如果没有行号,如何调试此编译错误?,android,Android,当我重建项目时(在清理之后),它可以很好地构建: 然而,当我想要部署到设备(运行)时,构建实际上显示了一个类型问题——但是没有行号 我如何调试它?在哪里可以找到问题?为什么不给出行号 ErrorCodeEntity.java ErrorReport.java 我找到了! 这是一个编译时错误,其中一个字符串被分配给了一个ErrorReport变量。然而,Android Studio显示构建成功,而不是让我看到有问题的代码 只有在我点击Deploy按钮之后,构建过程才失败了——但在某种程度上对

当我重建项目时(在清理之后),它可以很好地构建:

然而,当我想要部署到设备(运行)时,构建实际上显示了一个类型问题——但是没有行号

我如何调试它?在哪里可以找到问题?为什么不给出行号


ErrorCodeEntity.java ErrorReport.java
我找到了!

这是一个编译时错误,其中一个字符串被分配给了一个ErrorReport变量。然而,Android Studio显示构建成功,而不是让我看到有问题的代码

只有在我点击Deploy按钮之后,构建过程才失败了——但在某种程度上对我来说是无用的

我是如何找到它的: 我点击了项目中的所有java文件(很多!),令我惊讶的是,带有错误代码的文件突然被红色下划线

注意事项:

1) 我以前清理过这个项目,但是Android Studio 2.3看起来仍然编译得没有错误


2) 我使用了“使缓存失效/重新启动”

查看代码中为
ErrorReport
对象赋值的地方。您试图在某个地方指定一个
字符串
。提供的代码没有显示任何此类情况,所以我现在只能说这些。打开“Android监视器”查找堆栈跟踪。您正在查看Gradle控制台。此问题不是在运行时出现的,而是在部署期间出现的。Android显示器上没有显示任何内容
import io.realm.RealmObject;
import io.realm.annotations.PrimaryKey;

public class ErrorCodeEntity extends RealmObject {

    @PrimaryKey
    private long code;
    private String title;
    private String message;

    public long getCode() {
        return code;
    }

    public void setCode(long code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
}
public class ErrorReport implements Serializable {

    private String type;
    private String detail;
    private int statusCode;
    private String title;
    private int code;

    public ErrorReport(final String detail) {
        this.detail = detail;
    }


    public ErrorReport(String type, String detail, int statusCode, String title) {
        this.type = type;
        this.detail = detail;
        this.statusCode = statusCode;
        this.title = title;
    }

    public ErrorReport(String type, String detail, int statusCode, String title, int code) {
        this(type, detail, statusCode, title);
        this.code = code;
    }

    public String getType() {
        return type;
    }

    public String getDetail() {
        return detail;
    }

    public int getStatusCode() {
        return statusCode;
    }

    public String getTitle() {
        return title;
    }

    public int getCode() {
        return code;
    }

    @Override
    public String toString() {
        return "ErrorReport{" +
                "type='" + type + '\'' +
                ", detail='" + detail + '\'' +
                ", statusCode=" + statusCode +
                ", title='" + title + '\'' +
                ", code='" + code + '\'' +
                '}';
    }

    public static ErrorReport getDefault() {
        ErrorReport errorReport=new ErrorReport(
                "NO_TYPE",
                WebserviceConstants.COULD_NOT_PROCESS_REQUEST,
                -1,
                "ERROR",
                0
        );
        return errorReport;
    }
}