2016年12月27日火曜日

■HSP3Dishで作ったAndroidアプリが突然落ちてしまう場合

HSP3Dishで作ったアプリをAndroidで動作させてプログラムに不具合があったりDishの仕様を守っていないとアプリが突然落ちます。
エラー情報が画面に表示されず急に落ちるために、「だいたい『コレ』で落ちてるんだろう」とある程度想像できる場合はよいのですが、「Windows上ではちゃんと動いていたのになんで!?」という場合だと不具合個所を特定するのは容易ではありません。

そこでアプリが突然落ちてしまったときに落ちてしまう個所を見つける方法です。

  • Dish Helperの「Logcat」ボタンをクリックしコマンドプロンプトが起動している状態でAndroidにインストールした自作アプリを起動する方法。
    この方法はAndroidのUSBデバックモードを使用してWindowsのコマンドプロンプトの画面にアプリ実行中の状態を表示します。もしアプリが突然落ちてしまう場合にはコマンドプロンプト画面にHSPのエラーコードが表示されます。
    ただしエラーコードが分かってもどの場所で落ちているのかまではわかりません。
  • プログラムソース内に怪しいと思われる個所に文字表示命令やDialog命令などを入れておいて視覚的に落ちている個所を少しづつ探し出していく方法。
    この方法は少し手間がかかりますが、手当たり次第にソースをいじくり回すよりも安全です。
落ちてしまう個所を見つけるのが困難な場合上記の2つを組み合わせて行うことで特定しやすくなるかと思います。

ミニアクション「みにぼう」チュートリアル動画

簡単なチュートリアルを作りました。