Androidアプリ開発者が知らないと損するAndroid Studio 2.2の新機能5選:2016年、大幅に進化中
2016年5月18日から開催されたGoogle I/Oで、Android Studio 2.2 Preview 1が公開されました。本稿では、大きな機能更新があったAndroid Studio 2.2の魅力を解説します。
Android Nへの対応も進むAndroid Studio 2.0/2.1の機能をおさらい
2016年になってAndroid Studioのバージョンアップが頻繁に行われています。
- 2016年2月5日:Android Studio 2.0 β版
- 2016年4月7日:Android Studio 2.0正式版
- 2016年4月26日:Android Studio 2.1安定版
- 2016年5月18日:Android Studio 2.2 Preview 1公開
Android Studio 2.2は、2.0から2.1のバージョンアップのようなパッチの提供ではなく、プログラム全体が置き換えられます。2.1のプロジェクトが2.2でそのまま利用できる保証はありませんが、新規プロジェクトで2.2を利用するのはPreview版であっても検討に値します。それほどの改善がなされています。
まずは、Android Studio 2.0と2.1で機能改善についておさらいしておきます。
- Android Studio 2.0
- Instant Run(アプリの変更をアプリのインストールなしに反映)
- Accelerated build and development speeds
- Next-generation Emulator
- New GPU profiler
- IntelliJ IDEA 15
- Enhanced testing support
- Support for Google Search deep linking
- Android Studio 2.1
- Android N Developer Preview Features & APIs
- Android N Developer Preview Android Virtual Devices(AVDs)
- Jack Compiler&Java8のサポート
- Instant Run - incremental java compilation + dex ion process
Android 2.0〜2.1での機能で特に大きなものは、Instant RunとAndroid NのJack Compiler&Java 8のサポートです。これらの詳細は下記をご確認ください。
開発者が知っておきたいAndroid 2.2の5つの新機能
Android 2.2 Preview 1では大きくは以下のような改善が加えられました。
- 新たなレイアウト「Constraint Layout」を追加
- レイアウトエディタの改善
- C/C++のデバッグが便利に
- Android Emulatorの改善(実機より速いエミュレータ)
- APKファイルサイズ解析ツール
以降、これらについて解説していきます。
新たなレイアウト「Constraint Layout」を追加
Android Studio 2.2では、新たなレイアウトが追加されました。それがConstraint Layoutです。
このレイアウトは、従来は複数のLayoutをネストしなければできないような複雑な配置を簡単に生成できるレイアウトです。ウィザードで生成したActivityなどのデフォルトのレイアウトに採用されています。
Relative Layoutと似ている印象ですが、Relative LayoutがView同士の相対関係でレイアウトを構築するのに対し、Constraint LayoutはViewに制約を課してレイアウトを構築します。制約には以下があります。
- 別のViewへのアンカーポイント
- レイアウト枠
- 目に見えないガイドライン
ガイドラインは特に優秀です。全てのViewにデフォルトの余白が利用可能で、等間隔に配置可能です。また、複雑なレイアウトがフラットになることで、描画が高速になることも期待できます。
Constraint LayoutはAndroid 2.3以上と互換性のある新しいサポートライブラリに用意されていますが、Constraint Layoutを使用可能なLayout EditorはAndroid Studio 2.2 Preview以降です。
レイアウトエディタの改善
レイアウトエディタにもさまざまな改善が加えられました。
これまで複雑なレイアウトを構築するにはLayoutを入れ子にする必要がありました。Android Studio 2.2以降はConstraint Layoutを使用することで複雑なレイアウトをGUI上で簡単にフレキシブルに、しかもフラットに構築できます。
ここでは新しいレイアウトエディタについてConstraint Layoutを利用する前提で解説します。
通常のレイアウトプレビューの横に、Blueprintが追加されています。レイアウトの制約がひと目で分かるようになっています。プロパティも改善されていて、制約の詳細がひと目で確認できます。Viewに制約を課すにはViewをエディタ上でドラッグするだけです。所定の位置にドラッグすると、アンカーやガイドラインが表示され制約が課せられます。
さて、これまでの開発では、レイアウトを調整するのはGUIエディタではなくXMLエディタを利用することが多かったのではないでしょうか。
XMLエディタからプレビューが確認可能ですが、Constraint LayoutはXMLエディタで編集するには複雑過ぎること、GUIエディタが強力になったことから、XMLエディタの利用は警告を修正する用途ぐらいで抑えておくことをお勧めします。
上図はGoogle I/O 2016のプレゼンですが、XMLの直接編集が必要ないことが強調されています。
C/C++のデバッグが便利に
C/C++の実装をJNI経由で用いるプロジェクトにとっては朗報です。
これまではC/C++のデバッグはデバッグプリントを用いるぐらいしかできませんでしたが、Android Studio 2.2では、ブレークポイントを設定して、Javaと同様のデバッグが可能になりました。ウォッチポイントも利用可能です。
また、CMakeやNDKBuildのファイルをIDEに含め、IDEからビルドすることが可能です。Android Studioを用いたC/C++のデバッグが非常にはかどります。
Android Emulatorの改善
Android Studio 2.1でEmulatorが刷新され、Android Studio 2.2では、そのEmulatorが実機よりも高速になりました。
これまではEmulatorは遅くて使いづらいものでしたが、Instant Runに加えAndroid Studio 2.2でFaster than Device、Sensor Controlsが加わり、今後は積極的にEmulatorを利用した開発が行えそうです。
APKファイルサイズ解析ツール
グーグルが新興国市場を重要視しているためか、アプリサイズの解析ツールがAndroid Studio 2.2に搭載されました。これは、新興国市場では回線速度は速くはなく、またスペックが低い端末も多く、アプリのファイルサイズが大きいとダウンロードに時間がかかる他、実行速度にも影響が出やすいためです。
APKファイルサイズ解析ツールを使用すれば、上図のようにAPK内の何がどれくらいのサイズを占めているのかが簡単に把握でき、ファイルサイズを抑える際に役立ちます。
Firebase Test LabやEspresso Test Recorderも注目
Android Studio 2.2には今回紹介した以外でも、さまざまな改善が加えられています。
上図以外には以下のような改善が加えられています。
- Manifest Editorの改善
- リソースエディタの改善
- アノテーションの追加
- 強化されたLint解析
今回は紹介しきれなかった「Firebase Test Lab」「Espresso Test Recorder」は、開発現場のこれまでのテストのプロセスが変わる可能性があります。Android Studio 2.2が正式版になったら、取り上げてみようと思います。
Firebaseについては、下記記事を参照してください。iOS向けの記事ですが、Firebaseがどいうものかのイメージがつかめると思います。
筆者紹介
緒方聡
株式会社ゆめみ所属のエンジニア。Applet、デスクトップJava、サーバサイドJavaの業務開発を経て、ケータイJava、組み込みJavaから現在はAndroidを中心にJavaに関わる。他の執筆記事は「Androidで動く携帯Javaアプリ開発入門」「携帯アプリを作って学ぶJava文法の基礎」など。iOS開発もたしなみ、Java以外ではHaskellやC/C++、Luaを好む。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 連載インデックス「Androidで動く携帯Javaアプリ開発入門」
- 細か過ぎて伝わってないけど開発者が知っておきたいAndroid Mの新機能まとめ
Google I/O 2015で発表された次期版Android M。Google Now on tapで使うアシストAPIや、App Links、App Permissions、省電力のDoze/App Stanby、決済機能Android Payなどで使う指紋認証機能など新機能を分類して紹介。 - 知らずに作って大丈夫?Androidの基本的なライフサイクルイベント31選
本連載では、バージョンの違いに左右されないスタンダードなアーキテクチャで実業務で使えるAndroidアプリ開発のノウハウを提供していきます。今回は、Androidアプリ開発において必ず押さえておかなければならないライフサイクルイベントについて解説します。