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;
}
}