Java 应用程序在安卓2.3上运行而在安卓3.0上失败的原因

Java 应用程序在安卓2.3上运行而在安卓3.0上失败的原因,java,android,eclipse,Java,Android,Eclipse,我已经编写了一个应用程序,它在安卓2.3上似乎可以完美地工作。我刚刚通过电子邮件得知,我的应用程序在android 3.0平板电脑上崩溃(启动时立即崩溃)。不幸的是,我没有访问这样的设备 为了使我的应用程序尽可能的崩溃,我一直在使用Lint和FindBugs。我的程序使用了多个线程,Findbug报告了几个“不一致同步”的实例,因为不同的线程可能同时读取某些数据。我认为这不是一个问题,因为在读取数据的时候,数据不应该被修改。我突然想到,也许安卓3.0有一些内置的实例检测功能 我对什么样的事情会导

我已经编写了一个应用程序,它在安卓2.3上似乎可以完美地工作。我刚刚通过电子邮件得知,我的应用程序在android 3.0平板电脑上崩溃(启动时立即崩溃)。不幸的是,我没有访问这样的设备

为了使我的应用程序尽可能的崩溃,我一直在使用Lint和FindBugs。我的程序使用了多个线程,Findbug报告了几个“不一致同步”的实例,因为不同的线程可能同时读取某些数据。我认为这不是一个问题,因为在读取数据的时候,数据不应该被修改。我突然想到,也许安卓3.0有一些内置的实例检测功能


我对什么样的事情会导致程序在2.3上工作而不是在3.0上工作的其他想法很感兴趣。

我在一个应用程序中遇到了类似的问题

我的问题是由于在我尝试在主UI线程上执行网络操作时引入了一个新的异常

请参阅以获得更多解释


我还使用了Android emulator和Android 3.0 API来重现该漏洞。

您尝试过使用该模拟器吗?如果没有堆栈跟踪,很难缩小问题范围。加上1到onit,您可以在没有物理设备的情况下运行3.0(以及许多其他最新版本,目前为4.0.3)。您应该始终在许多不同的平台版本和屏幕大小/密度上测试您的“完美”应用程序。您的问题可能很简单,因为您使用的API调用不再存在(),但实际上,如果没有实际的堆栈跟踪,您将无法知道。