IntelliJ+sbt+Androidな環境のデバッグ方法

sbt-androidプラグインを使ってScalaAndroid開発を行う場合のIntelliJのデバッガの設定方法を紹介します。

実機側の設定

実機側の設定はJavaで開発する時と同じです。
以下はAndroid 4.2.2の設定方法です。

  1. 設定 > セキュリティ > 提供元不明のアプリ にチェック
  2. 開発者向けオプションが表示されていない場合、端末情報 > ビルド番号 を7回タップすると開発モードとなって開発者向けオプションの設定項目が表示される
  3. 開発者向けオプション > USBデバッグ にチェック

IntelliJの設定

  1. Androidプロジェクトを開いて Run > Edit Configurations… でAndroid Applicationを選択して新規作成
  2. デバッグ対象のモジュールを選択
  3. “Do not launch Activity”にチェック
  4. “Deploy application”のチェックを外す
  5. Target Deviceを選択
  6. Before launchのMakeを削除
  7. OKを押して閉じる
  8. Run > Debug…で上記の構成を選択してデバッグ実行
  9. “Connected to the target VM, address: ‘localhost:8600’, transport: ‘socket’”というメッセージが表示されれば成功です
    もしうまくいかない場合は’adb devices’コマンドで端末が表示されるか確認してみて下さい

sbtの設定

特に必要ありません。sbtからアプリケーションをインストールして実行すると、設定したブレークポイントがあればヒットするはずです。

アプリケーション起動時にデバッガをアタッチする

onCreateなどの起動時の処理のデバッグをしたい場合は、端末の 開発者向けオプション > デバッグアプリを選択 をタップして対象のアプリを選択し、”デバッガを待機”にチェックを入れると、アプリケーションを起動してもデバッガがアタッチされるまで実行されません。