• 締切済み

iアプリの実機起動時に「ソフトに継続動作出来ない障害が発生しました」

エミュレーター上では正常に動作するのですが、自分のケータイ(P703iν,Doja4.1対応)に自作アプリをダウンロードして起動したときに、「ソフトに継続動作出来ない障害が発生しました」というエラーがでて終了してしまいます。 トレースの結果↓ message=Uncaughtexception happened throwable=java.lang.NullPointerException throwableMessage= ちなみに友達のケータイでも試したのですが、P704i(Doja5.0)はエラー SO903i(Doja5.0)は正常に動作しました。メーカーや機種の違いなのでしょうか? 自分でも、原因究明のため下記のことを確認したのですがこれ以上に思いつくものがありません。 ・スクラッチパッドの容量オーバー P703iνのスクラッチパッド容量はjarファイルが100kbまで、jarファイル+リソースの上限が400kbなのに対し、jarファイルが69kb,resourceが88kbと明らかに余裕でした。ADFの設定は余裕を持って200kbにしました。 ・Threadを使ってるのが原因ではないか? Dojaだと、Threadはあまり推奨されていないようなので、com.nttdocomo.utilのTimerクラスで代用しましたが、おなじ結果になってしましました。 ・Doja4.1でサポートされてないAPIを使ってないか? 隅々まで確認しましたがみつかりませんでした。(商用目的のアプリなのでソースは公開できません) ・トレース内容でもあったように、nullのThrowable値をスローしてないか? 例外エラー時のスタックトレースデータなどをThrowable値として格納しているのではないかというのが自分の理解ですが、正直ここがよくわかりません。どなたかご教授してもらえるとありがたいです。。。

みんなの回答

noname#235174
noname#235174
回答No.2

Thread使っているということで、runメソッドが開始された時に、まだインスタンス化されていない可能性があるオブジェクトを参照していたりしていませんか? runの開始から終了までをtry-catch(Throwable e)で囲んで、eのスタックトレースを出してみては如何でしょう? もしrun内で発生しないのであれば、startメソッドを同じようにtry-cache(Throwable e)で囲んでみて、トレースを出してみてください。 これ以外ですと、例外を捕まえようが無いので、

zozy
質問者

補足

アドバイスありがとうございます。 参照されているオブジェクトはすべてインスタンス化されており、nullでもなく、runメソッドとstartメソッドをtry~catchで囲んでも例外は捕まりませんでした。 この際runを使うのをやめることにしましたが、それでも依然状況は変わらないです。。。

回答No.1

アプリ起動時に、NullPointerExceptionが発生しcatchされなかったのでアプリがエラー終了したということだと思います。

zozy
質問者

補足

早速の回答ありがとうございます。 少しでも怪しいところ全てをtry~catchで囲んでみましたが、依然解決されませんでした。 エミュレータ上ではすべてのオブジェクトが正常に参照されているのにかかわらず、実機では参照されないものがあるというのはなぜなんでしょう?

関連するQ&A

専門家に質問してみよう