2012-02-07 12 views
0

アンドロイド2.3で問題なく動作するように見えるアプリを書いています。私はちょうどアンドロイド3.0タブレットで私のアプリがクラッシュする(すぐに起動時に)電子メールで伝えられている。残念ながら私はそのようなデバイスにアクセスすることはできません。アプリがアンドロイド2.3で動作し、アンドロイド3.0で失敗する理由

私のアプリをできるだけクラッシュプルーフにするために、私はLintとFindBugsを採用しています。私のプログラムは複数のスレッドを使用し、異なるスレッドが同時に特定のデータを読み取っている可能性があるため、Findbugは「不一致の同期」のいくつかのインスタンスを報告します。私はこれが問題ではないと信じています。なぜなら、データが読み取られている時に、変更されているべきではないからです。それは私にはおそらくアンドロイド3.0は、そのようなインスタンスのいくつかの組み込みの検出を持っているが発生しますか?

私は、プログラムが2.3では動作するが、3.0では動作しないものはどんな種類のものかについての他の考えに興味があります。

+3

エミュレータを使用してみましたか?スタックトレースなしで問題を絞り込むのは難しいです。 – onit

+0

プラス1をオンにすると、物理デバイスを持たずに3.0(および現在のバージョン4.0.3までの最新バージョンまで)を実行できます。あなたは常に、さまざまなプラットフォームのバージョンと画面サイズ/密度であなたの "完璧な"アプリをテストする必要があります。あなたの問題は、もはや存在しないAPI呼び出し(http://developer.android.com/sdk/api_diff/11/changes/alldiffs_index_removals.html)を使用するのと同じくらいシンプルになる可能性がありますが、実際にはスタックトレース。 –

答えて

0

私はアプリで同様の問題がありました。

私の問題は、メインのUIスレッドでネットワーク操作を実行しようとすると、新しい例外が発生したためです。

詳細については、How to fix android.os.NetworkOnMainThreadException?を参照してください。

また、Android 3.0 APIでAndroidエミュレータを使用してバグを再現しました。

関連する問題