java.lang.VerifyError在某些设备上发生

时间:2011-07-07 20:38:28

标签: java android exception-handling verifyerror

我已经为我的公司编写了一个Android应用程序,因为它运行良好,有一些崩溃报告,我从来没有过错。 一个我不知道如何解决的是服务中的java.lang.verifyError。

崩溃的行是:

String post_request = ConnectionHelper.getTicketRequestJsonString(true, ticketIdsToDownload);

ConnectionHelper是一个只包含返回字符串的静态函数的类。我该怎么做才能解决问题?

编辑:如果有帮助,我会发布一些代码,而不是认为我遇到了“安全问题”

public static String getTicketRequestJsonString(boolean details, List<String> ticketIds){
    String ticketString = "tickets:[";
    int count = ticketIds.size() - 1;
    for (int i = 0; i <= count; i++){
        String s = ticketIds.get(i);
        ticketString += s
        ticketString += i != count ? "," : "]";
    }
    return ticketString;
}

2 个答案:

答案 0 :(得分:0)

当Android尝试加载引用不可用内容的类时,会发生VerifyError。一个例子是在Android 2.1设备上运行时加载引用Android 3.0类的类。

  

我该怎么做才能解决问题?

确定无法加载的具体内容,然后确定如何处理。例如,有一些技巧可以避免在Android 2.1设备上加载Android 3.0类,同时仍在Android 3.x设备上使用Android 3.0类。

答案 1 :(得分:0)

我在这里有同样的问题;最后发现受影响的班级使用

try {
localIP = InetAddress.getLocalHost().getHostAddress();
} catch (NetworkOnMainThreadException ex) {         
}

Android 2.3上的VerifyError失败。

删除使用NetworkOnMainThreadException,它再次在2.3上工作。