テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

Androidの実機ログを調査しやすくするTips

UnityのAndroidアプリを開発している際、唐突にアプリが落ちる事があります。
この場合、実機ログを確認するのが最も有効です。

実機のログを確認するには、LogCatを使用します。
LogcatにはDebug.LogやLog.iで出力したログが出力されるので、
これを使用して実際に端末内で何が起こったのかを確認するという訳です。

アプリが落ちた場合、***Exceptionを探しましょう。
それで大体原因がわかります。

【Unity Tips】Androidの実機デバッグ時のログ確認について

さて、これは対象のAndroid端末がデバッグモードであれば概ね取得出来ます。
ただし、このログには全アプリのログが含まれていますので、
ものすごい勢いでログが流れてしまいます。

このノリでログが流れては読めませんので、
ログを流れないようにしたり、絞り込んだりします。

まずは、Logcatの右側にあるスクリーンショット 2014-02-11 23.40.44を押してログを流れなくします。
これでログの最大保持数を超えない限り、ログが流れなくなります。

スクリーンショット 2014-02-11 23.39.58


次に、Unity関連のログを絞り込む方法です。
検索バーに「tag:unity」と入力し、Unityタグを持つログを絞り込みます。

スクリーンショット 2014-02-11 23.44.55

その後、上の手順で取得したログのPIDを確認し、「pid:任意のPID番号」と入力します。

スクリーンショット 2014-02-11 23.46.43
これで、自分が起動したアプリのプロセスIDと一致するログが全て出力されます。
タグだけではログとして漏れが多いので、PIDで確認すると安心です。
ただし実行する度にプロセスIDは変化するので、その点に注意が必要です。
(つまり毎回tag:unityして探す必要があります)


なお、実は自分が作成したアプリ以外のログも確認出来ます。
つまり対象のアプリがUnity製の場合、Unityタグのついたログが出力されます。

製品版でログを出力したくない場合、Debugクラスを上書きする等でログが出力されないように
工夫しておくと良さそうです。

Debug.Logを開発環境以外で無効化