debugging

Androidアプリ開発

Androidアプリ開発で初心者が覚えるべきデバッグ3つの手法

Androidアプリを作り始めるといろんな不具合やエラーに悩まされることは多いですよね。アプリ開発を始めたばかりでエラーの内容もよくわからいし、原因の特定の仕方もわからなくて進まなくなったということもあると思います。実際、エンジニアはどうやって不具合やエラーを解決しているのか気になるところですよね。

今回は、エンジニアが使っているデバッグ手法を紹介していきたいと思います。

デバッグとは?

不具合やバグなどを見つけて直していく作業のことで、プログラミングをやっていく上で必ず必要になってきます。デバッグは、不具合やエラーの原因を見つけてプログラムを修正するためにデバッガーと呼ばれるツールを使います。

Androidアプリ開発では、標準でついているAndroid Studioのデバッガーとツールウィンドを利用してデバッグしていきます。

android studio

実機デバッグする方法

Androidで実機デバッグするためには、端末の設定画面からUSBデバッグを有効にする必要があります。[設定] > [デバイス情報] のビルド番号を7回タップすると、[設定] > [システム] > [詳細]の中に「開発者オプション」という項目が出現します。

開発者オプションの中に「USBデバッグ」という項目があるのでオンにします。すると、PCにUSB接続した時にAndroid Studioのデバイスリストに表示されるようになります。

android studio

大前提としてエラーはしっかり読もう

1番最初に身につけて欲しいのは、エラーメッセージを「わからない」で終わらせるのではなくしっかり読むことです。エラーメッセージには、問題点の内容・発生場所・発生の時間など様々な情報が含まれています。

ネットで調べなくてもエラーの原因を考えたり、人に聞く時の参考情報として伝えることができるため聞かれた方も答えやすくなります。クラッシュやエラーなどがある時は、ほぼ必ずエラーログが上がってくるので必ず読みましょう。わからないキーワードがあったときは、1度調べてどんな内容なのか理解しようとすることも大切です。

Androidアプリをデバッグする3つの手法

debugging

ここからは、具体的なデバッグの手法を紹介していきます。どれも比較的簡単に試すことができるので、デバッグの手法を学んで見たい人は是非試してみてください。

コンポーネントの階層が見れるLayout Inspector

UI崩れなどの原因を探ることができるようになります。想定外のレイアウトになってしまった場合に、どのビューが崩れてしまっているのかコンポーネントのプロパティを見てどの値がおかしいのかわかります。

android-layout-inspector

ログ出力

コンソールに変数や関数を実行したときのメッセージをログとして出力することができます。このログは、デバッグ時に使うことで不具合の原因を探ることやアプリをリリースしたあとに発生した不具合の原因究明などにも活用することができます。

ログレベル 解説
Log.e エラーとして出力する
Log.w 警告として出力する
Log.i 情報として出力する
Log.d デバッグログとして出力する
Log.v その他として出力する

フィルタリング

android studio logcat filter

ログをエラー/デバッグログ/実行ログのように出力を分けた場合に、フィルタリングを使うことでそれぞれのログのみコンソールに表示することができます。

カラーリングして見やすくする

android studio log colors

コンソールのログはデフォルトでは単色になっています。そのため、エラーログやデバッグログが表示されていても判別しにくいことがあります。ログレベルごとに色を分けることで、ログを見分けやすいようにすることができます。

メニューバーの [Android Studio] > [Preferences] > [Editor] > [Color Scheme] > [Android Logcat] から以下のようにカラーを設定することができます。

ブレークポイント

android studio log colors

Android Studioにはブレークポイント(breakpoint)という機能があります。この機能を利用すると以下のことができます。

  • 特定のタイミングで処理を一時停止する
  • 一時停止中に保持している変数の値を参照することができる
  • インタラクティブに変数の値を変更することができる

想定外の手順で処理が実行されたときに、どの変数の値が不自然なのか確認したり発生しうる例外を見つけたりすることができます。

値をみる

ブレークポイントで一時停止した時点で変数が、どのような値を保持しているのか確認することができます。「このタイミングで処理を実行した時、値ってどうなってるんだろう」って思った時に確認して動作を検証することができます。

android studio log colors

スレッド

ブレークポイントで処理を止めたときやアプリがクラッシュしたときに、どこで発生したのかを確認することができます。下記の例だと MainActivity の onOptionsItemSelected という関数で止まっていることが確認できます。

android studio thread

デバッグ機能を上手く使おう

様々なデバッグ手法を使うことで、エラーや不具合の原因を特定したり動作を確認するのが非常にやりやすくなります。開発ではデバッグ作業は必ず発生するので、デバッグツールの使い方を覚えて開発にかける時間を増やせるようにしていきましょう。

debuggingiOSアプリ開発で初心者が覚えるべきデバッグ3つの手法Prev

初めてでも開発できるFlutter入門Next

Related post

  1. Androidアプリ開発

    Android開発者になる人が読んでいる本を紹介

    Androidエンジニアになるために、どんな本を読んで勉強すれば良いだ…

  2. Androidアプリ開発

    Androidアプリ開発で覚えておきたいKotlinの記法を紹介

    Androidアプリ開発するためにKotlinを利用するケースは多くな…

  3. Androidアプリ開発

    初心者向けにAndroidアプリ開発からリリースまでの手順を丁寧に解説!

    Androidのアプリ作ってリリースをしてみたい!だけど、実際に何をし…

  4. Androidアプリ開発

    Androidアプリでダークモードに対応する方法を紹介

    アプリやOSのUIを全体的に黒を基調としたデザインにする機能で、201…

  5. android lifecycle

    Androidアプリ開発

    Androidアプリ開発で大切なライフサイクルを分かりやすく解説

    モバイルアプリを開発していると、ビューの初期化が上手くできなかったり更…

  6. Androidアプリ開発

    AndroidアプリのActivityとFragmentの違いや使い方を詳しく解説

    アプリを作り始めで画面の作り方がよく分からない、ActivityやFr…

PAGE TOP