Android Studio 2.0がリリースされた。Instant Run、実機上でテストするGoogleサービスとのインテグレーション、エミュレータの高速化、ビルドの高速化、GPUプロファイラとデバッガ、ディープリンクのサポートなど、複数の新機能と改善が含まれている。
最新のIntelliJ IDEA 2016.1上に構築されたAndroid Studio 2.0が、開発者に公開された。Android Studio 2.0の新機能については、およそ6ヶ月前にカナリアチャネルに登場したときに紹介したため、ここで繰り返すことはしない。本記事では、新たな機能と改善項目に注目する。
Android Studio 2.0は最新の安定したAndroidプラットフォームならびにAPIを使っているが、Android N Developer Previewはサポートしていない。Android Studio 2.1 Previewが必要だ。Android N開発向けのツールをインストールするには、手動による作業が必要になる。詳しくは、Set up the Previewのページを参照してほしい。
Android Studio 2.0で興味深い機能のひとつが、Instant Runだ。アプリケーションの初回デプロイ後、実機であれエミュレータであれ、新しいAPKをビルドすることなく、たいていのコードやリソースの変更をプッシュできるようになる。Android Studioでは、次の3種類のコードスワッピングのいずれかを用いて、これを実現している。
- Hot Swap – 最速のやり方で、実行中のアプリケーションのオブジェクトを再初期化する必要がない。場合によっては、影響を受けるアクティビティが自動的にリスタートする。既存のメソッドの内容が変わる場合に使われる。
- Warm Swap – 現在のアクティビティのリスタートを必要とし、画像のチラツキに気が付くかもしれないが、アプリケーションはリスタートされない。リソースの変更や削除の場合に使われる。
- Cold Swap – アプリケーションのリスタートを必要とするが、新しいAPKが作成されることはない。アノテーション、インスタンスフィールド、スタティックフィールド、スタティックメソッドのシグニチャ、親クラス、実装されたインターフェイスのリストなどへの追加/削除/変更を含む各種変更がある場合に使われる。
マニフェストを編集した場合には、新しいAPKがビルド、デプロイされる。Instant Runは複数デバイスに同時にデプロイしている場合には使えない。APIレベルによって異なるスワッピング手法を使うためだ。
他の新機能としては、Cloud Test Lab Betaとのインテグレーションがある。このGoogleサービスは、Googleのデータセンターで動く実機上で、Androidアプリケーションのテストを可能にするものだ。開発者はEspressoやUI Automator 2.0、Robotiumを使って、独自のテストが書ける。たとえテストを自作しなくても、Robo Testをかけられる。これはアプリケーションがクラッシュしないか確かめる基本的なテストだ。Robo Testはユーザー操作をシミュレートし、インターフェイスを叩いて様々なタスクを実行する。自動シミュレーションの動画は記録され、テスト実行中の様々なタイミングでスクリーンショットを撮ることができる。こうして得られたログ、動画、スクリーンショットは、Developer Consoleから入手可能だ。今のところ、Cloud Test Labサービスは無償で提供されているが、料金ページは将来の有料化を示唆している。
Rate this Article
- Editor Review
- Chief Editor Action