0

I have written an app that appears to work faultlessly on android 2.3. I have just been told by email that my app crashes (immediately on startup) on android 3.0 tablets. Unfortunately I do not have access to such a device.

To try and make my app as crashproof as possible I have been employing Lint and FindBugs. My program does use more than one thread and Findbug reports several instance of "Inconsistent synchronization" because different threads may be reading certain data at the same time. I beleive this not to be a problem because at the times the data is being read it should not be in the process of being altered. It occurs to me though that perhaps android 3.0 has some built-in detection of such instances?

I am interested in any other thoughts on what kind of things would cause a program to work on 2.3 but not on 3.0.

Mick
  • 8,284
  • 22
  • 81
  • 173
  • 3
    Have you tried using the emulator? It is hard to narrow down your problem without a stack trace. – onit Feb 07 '12 at 16:37
  • Plus 1 to onit, you can run 3.0 (and many other versions up to the latest, which is currently 4.0.3) without having a physical device. You should always test your "faultless" app on many different platform versions and screen sizes/densities. Your issue could be as simple as you using an API call that no longer exists (http://developer.android.com/sdk/api_diff/11/changes/alldiffs_index_removals.html), but really you won't know without an actual stack trace. – Charlie Collins Feb 07 '12 at 16:50

1 Answers1

0

I had a similar problem with an app.

My issue was due to the introduction of a new exception when I attempt to perform a networking operation on the main UI thread.

Please refer to How to fix android.os.NetworkOnMainThreadException? to have more explanation.

I also used the Android emulator with the Android 3.0 API to reproduce the bug.

Community
  • 1
  • 1
ndeverge
  • 21,378
  • 4
  • 56
  • 85