先日開催された Google I/O 2017 に合わせて Canary リリース チャンネルで
ダウンロード可能になっている Android Studio 3.0 について、ご紹介します。Android 開発に特化した Android Studio は Google の公式 IDE で、積極的に開発が続けられています。Android Studio の一連の機能は、アプリ開発フローの高速化と Android プラットフォーム用の最新ツールの提供を主な目的としたものです。
Android Studio 3.0 には、開発フローの高速化を実現するための 3 つの主な機能が追加されています。パフォーマンスの問題をすばやく診断する新たなアプリのパフォーマンス プロファイリング ツール一式、Kotlin プログラミング言語のサポート、サイズの大きいアプリのプロジェクトでの Gradle ビルドの高速化です。さらに、Instant App 開発のサポート、Android O エミュレータ システム イメージへの Google Play ストアの追加、Android O の開発に利用できる新しいウィザードといった機能によって、Android Studio 3.0 は Android プラットフォーム開発と密接に統合されています。すべてを合わせれば、今回の最初の Canary リリース版 Android Studio 3.0 には、20 以上の新機能が追加されています。
これらの機能の多くは、Android Studio 2.4 の Canary リリースの一部として、密かに作業が進められていたものです。今回は、多くの重要な機能を追加し、Android Gradle プラグインにも拡張性とビルド時間を改善する画期的な変更を行っていますので、バージョン番号を改めて Android Studio 3.0 としてリリースいたします。
Android O をターゲットにしたい方、
Instant App を作成したい方、
Kotlin 言語で開発を始めたい方、または最新の Android アプリ用のパフォーマンス ツールを使用してアプリの品質を改善したい方は、今すぐ Android Studio 3.0 Canary 1 をダウンロードしてください。
Android DevByte - Android Studio 3.0 Canary 1 の新機能
今回の最初の Canary リリース版 Android Studio 3.0 の新機能の詳細については、重要なデベロッパー フローごとに分類された以下のリストをご覧ください。
開発
- Kotlin プログラミング言語 - 多くのリクエストをいただいた結果、Android Studio 3.0 に Kotlin のサポートが追加されました。この新しい言語のサポートによって、既存の Android アプリのコードに Kotlin コードをシームレスに追加できるようになります。さらに、Android Studio のすばらしい開発ツールのすべてにアクセスすることもできます。Kotlin をプロジェクトに追加するには、[Code] → [Convert Java File to Kotlin File] からビルトインの変換ツールを使うか、新規プロジェクト ウィザードから Kotlin を有効にしてプロジェクトを作成します。詳細については、Android と Android Studio での Kotlin 言語のサポートをご覧ください。
Android Studio での Kotlin 言語への変換
- Java 8 言語機能 - Java 8 言語機能と API のサポートの強化は続いています。先日の Jack ツールチェーンのサポートの終了と javac ベースのツールチェーンへの移行によって、Java 8 言語機能を使うプロジェクトで Android Studio から Instant Run などの機能にアクセスできるようになりました。プロジェクトをアップデートして新しい Java 8 言語ツールチェーンをサポートするのは簡単です。[Project Structure] ダイアログで ソース と ターゲット の互換性レベルを 1.8 にアップデートします。詳細をご覧ください。
[Project Structure] ダイアログで Java 8 言語にアップデート
- Layout Editor - 今回の Android Studio リリースでは、Layout Editor もさらに強化されています。コンポーネント ツリーがアップデートされてドラッグ アンド ドロップによるビューの挿入の操作性が向上しているほか、エラーパネルも新しくなっています。また、
ConstraintLayout
のアップデートと合わせて、ビューバリアの作成、Google グループの作成、チェーン作成の拡張もサポートされています。詳細をご覧ください。
Layout Editor のコンポーネント ツリーと警告パネル
- アダプティブ アイコン ウィザード - Android O では、アダプティブ ランチャー アイコンが導入されています。この機能を利用すると、Android 端末ごとに異なる図形を表示できます。新しく追加されたアダプティブ アイコン ウィザードを使うと、新規または以前のランチャー アイコン アセットを作成し、さまざまなランチャー画面のアイコンマスクでアダプティブ アイコンがどのように表示されるかをプレビューで確認できます。プロジェクトの /res フォルダを右クリックし、[New] → [Image Asset] → [Launcher Icons (Adaptive and Legacy)] を選択すると、新しいアセットを作成できます。詳細をご覧ください。
アダプティブ アイコン ウィザード
- XML フォントとダウンロード可能フォント - Android Studio の XML フォント プレビューおよびフォント選択ツールによって、アプリへのカスタム フォントの追加(Android O がターゲットの場合に利用可能)がさらに簡単になりました。また、アプリにダウンロード可能フォント リソースを作成できるようになっています。ダウンロード可能フォントを使うと、フォント リソースを APK にバンドルせずにアプリでカスタム フォントを使うことができます。ダウンロード可能フォントを使うには、端末やエミュレータで Google Play Services v11.2.63 以降が実行されている必要があります。詳細をご覧ください。
ダウンロード可能フォント リソース ピッカー
XML フォント プレビュー
- Android Things のサポート - Android Studio 3.0 では、新規プロジェクト ウィザードと新規モジュール ウィザードに追加された新しいテンプレート集を使って Android Things の開発を始めることができます。Android Things を使うと、Android 開発の知識を Internet of Things(IoT)に分類される端末にも広げることができます。詳細をご覧ください。
Android Things の新規モジュール ウィザード
- IntelliJ プラットフォーム アップデート - Android Studio 3.0 Canary 1 には、IntelliJ 2017.1 リリースが含まれています。これには、Java 8 言語のリファクタリング、パラメータ ヒント、セマンティック ハイライト表示、ブレークポイントのドラッグ、強化されたコントロール検索などの機能が追加されています。詳細をご覧ください。
ビルド
- Instant App のサポート - Android Studio 3.0 では、プロジェクトで Instant Apps を作成できます。Instant Apps は、ユーザーがインストールなしに即座に実行できる軽量 Android アプリです。これをサポートするため、Android Studio に Instant App と Feature という 2 つのタイプの新しいモジュールが導入されています。Android Studio は、新しく追加された「Modularize」(モジュール化)というリファクタリング操作と App Links Assistant を組み合わせて、アプリを Instant App に簡単に拡張できるようします。この機能を使うには、新規モジュール ウィザードを実行するか、クラスを右クリックして [Refactor] → [Modularize] を選択します。詳細をご覧ください。
Instant App モジュール ウィザード
- ビルドの高速化 - ビルドを高速化するための改善は続いています。今回のリリースでは、多くのモジュールがあるプロジェクトの高速化に重点が置かれています。高速化と今後の拡張をサポートするために、Android Studio が使用する Android Gradle プラグインの API を根本から見直し ています。以前のプラグインの API を利用している場合は、新しいプラグインとの互換性を確認し、適切な API に移行する必要があります。テストするには、
build.gradle
ファイルでプラグインのバージョンをアップデートしてください。詳細をご覧ください。
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-alpha1'
}
- Google の Maven レポジトリ - こちらも多くのリクエストが寄せられたため、Android SDK Manager の外部のまったく新しい Maven レポジトリで Android サポート ライブラリの Maven 依存関係を配布いたします。継続的インテグレーション(CI)システムで開発を行っている方は、これによって Maven 依存関係の管理が容易になるはずです。最新のコマンドライン SDK Manager ツールと Gradle を併用する場合は、Google の Maven レポジトリを使うと CI ビルドを簡単に管理できます。新しい Maven ロケーションを使うには、アプリのモジュールの
build.gradle
ファイルに次の URL を追加します。詳細をご覧ください。
repositories {
maven {
url "https://maven.google.com"
}
}
テストとデバッグ
- Google Play システム イメージ - Android O ベータ版リリースへのアップデートと合わせて、Android Emulator O システム イメージをアップデートし、Google Play ストアを追加しています。Google Play ストアがバンドルされることによって、Google Play を用いた包括的なアプリのテストが可能になり、Android Virtual Device(AVD)の Google Play サービスを最新に保つ便利な方法が提供されます。AVD でも、物理端末と同様に Google Play サービスのアップデートを行うことができます。
Android Emulator の Google Play ストア
Android Emulator での Google Play サービスのアップデート
アプリのセキュリティを確保し、物理端末と同様の体験を提供できるようにするため、Google Play ストアがバンドルされたエミュレータ システム イメージは、リリースキーで署名されています。これにより、権限の昇格はできなくなります。アプリのトラブルシューティングに権限の昇格(root)が必要な場合は、Google のアプリやサービスが含まれていない Android オープンソース プロジェクト(AOSP)のエミュレータ システム イメージを使うことができます。 この機能を使うには、Android Emulator v26.1 以上と API 24 以上の最新システム イメージを利用し、端末定義の隣に Google Play アイコンが表示されている AVD を新しく作成する必要があります。
詳細をご覧ください。
Google Play ストアがサポートされた Android Virtual Device Manager
- Android Emulator での OpenGL ES 3.0 のサポート - 開発を高速化するために継続されている投資の一環として、最新版の Android O システム イメージの Android Emulator では OpenGL ES 3.0 がサポートされています。さらに、古いエミュレータ システム イメージでの OpenGL ES 2.0 のグラフィック パフォーマンスが大きく改善されています。ほとんどの最新グラフィック カードは、すべてのオペレーティング システムで OpenGL ES 2.0 アクセラレーションをサポートしています。Android Emulator で OpenGL ES 3.0 を使うには、OpenGL 3.2 以降をサポートするホスト GPU グラフィック カードを搭載した Microsoft® Windows® または Linux の開発マシンが必要です(Apple MacOS® も今後サポートされる予定です)。詳細をご覧ください。
Android Emulator での OpenGL ES 3.0
- Android Emulator の App Bug Reporter - アプリのバグの記録をサポートするために、再現手順の記録に必要となるすべての設定と領域を含むバグレポートを簡単に生成する方法が追加されています。さらに、特定のエミュレータのバグを Android チームと共有したい場合のために、Android Issue Tracker でバグを簡単に作成できるリンクも追加しています。この機能を使うには、[Emulator Tool Bar] → [Extended Controls] → [Help] → [Emulator Help] → [File a Bug] を選択します。詳細をご覧ください。
Android Emulator のアプリ バグレポート
- Android でのプロキシのサポート - インターネットにアクセスするために HTTP プロキシを使う必要がある方のために、エミュレータが使用するプロキシ設定を管理するユーザー インターフェースを追加しています。Android Emulator はデフォルトで Android Studio の設定を使いますが、ネットワーク設定を優先させることができます。設定を行うには、[Extended Controls] → [Settings] → [Proxy] を選択します。
- Android Emulator の Android Wear ロータリー コントロール - Android Wear 2.0 エミュレータ システム イメージの Android Emulator で、ロータリー コントロールがサポートされました。これによって、スクロールにロータリー入力を使用する Android Wear 端末をターゲットにしたアプリのテストが簡単になります。Android Wear をターゲットにしたエミュレータ AVD を作成すると、[Extended controls] に [Rotary Input] パネルが表示されます。詳細をご覧ください。
Android Emulator のロータリー入力
- APK デバッグ - Android Studio でプロジェクトをビルドせずに APK をデバッグしたい方のために、Android Studio 3.0 リリースでは任意の APK のデバッグを行えるようになっています。この機能は、別の開発環境で Android C++ コードを開発し、Android Studio で APK のデバッグや分析を行いたい方にはとりわけ便利です。デバッグ可能なバージョンの APK を持っている限り、新しく追加された APK デバッグ機能を使って、APK の分析、プロファイリング、デバッグを行うことができます。さらに、APK のソースにアクセスできる場合は、ソースを APK デバッグフローにリンクして高度なデバッグを行うことができます。Android Studio のようこそ画面で [Profile or debug APK] を選択するか、メニューから [File] → [Profile or debug APK] を選択すると、この機能を利用できます。 詳細をご覧ください。
APK のプロファイリングまたはデバッグ
APK デバッグ
- Layout Inspector - Android Studio 3.0 では、Layout Inspector のいくつかの機能が拡張されており、アプリのレイアウトの問題を簡単にデバッグできるようになっています。具体的な拡張機能は、一般的なカテゴリに基づくプロパティのグループ化の改善、ビューツリーとプロパティ パネルの検索機能などです。アプリの実行中に Layout Inspector にアクセスするには、[Tools] → [Android] → [Layout Inspector] を選択します。詳細をご覧ください。
Layout Inspector
- Device File Explorer - これは、多くのリクエストがあったため、DDMS から Android Studio に移行された機能です。新しい Device File Explorer を使うと、Android 端末やエミュレータのファイルとディレクトリの構造を表示できます。これによって、アプリをテストする際に、Android Studio から簡単にアプリのデータファイルを直接プレビューしたり変更したりできるようになります。
Device File Explorer
最適化
- Android Profiler - Android Studio 3.0 には、アプリのパフォーマンスの問題をデバッグするためのまったく新しいツールセットが含まれています。以前の Android Monitor ツールセットは完全に書き直され、Android Profiler に置き換わっています。アプリをデプロイして端末やエミュレータで実行し、[Android Profiler] タブをクリックすると、一元的かつリアルタイムにアプリの CPU、メモリ、ネットワーク アクティビティを表示するビューにアクセスできます。各パフォーマンス イベントは UI イベント タイムラインにマッピングされます。タイムラインでは、タップイベント、キープレス、アクティビティの変更がハイライト表示されるので、イベントの発生場所や発生理由がわかりやすくなります。 各タイムラインをクリックすると、アプリの各パフォーマンス要素を詳細に分析できます。詳細をご覧ください。
Android Profiler と結合されたタイムライン ビュー
- CPU Profiler - 質の悪いアプリでよく起きるのが、不必要な CPU の処理や急激な負荷の増加です。CPU Profiler を使うと、サンプルまたは計測した CPU をトレースしてアプリの CPU スレッドの使用率を分析できます。ここでは、CPU Profiler に組み込まれたさまざまなデータビューやフィルタを使って CPU のパフォーマンスの問題をトラブルシューティングできます。詳細をご覧ください。
CPU Profiler
- Memory Profiler - メモリの使用が非効率だと、ぎこちない UI から空きメモリ不足のイベントまで、端末のさまざまな問題につながることがあります。Memory Profiler は、以前の Heap Viewer と Allocation Tracker の機能を高度なインターフェースへと統合したものであり、アプリのメモリ使用量の問題をデバッグすることができます。メモリの割り当てやヒープダンプなどを分析することによって、さまざまなメモリの問題の診断が可能です。詳細をご覧ください。
- Network Profiler - アプリのフォアグラウンドとバックグラウンドのネットワーク使用量を最適化すれば、データ使用量を抑えたパフォーマンスのよいアプリになります。Network Profiler を使うと、アプリのネットワーク アクティビティの監視、ネットワーク リクエストのペイロードの調査、ネットワーク リクエストを生成したソースコードの行の特定が可能です。現在のところ、Network Profiler は HttpURLConnection、OkHttp、Volley の各ネットワーク ライブラリで動作します。Network Profiler は、Android O 以前の端末やエミュレータでも利用できる高度な分析機能です。[Run Configuration] ボックスの [Profiling] タブで [Enable Advanced Profiling] を選択すると有効にできます。このチェックボックスは、ネットワーク リクエストとペイロードの分析だけでなく、トップレベルのイベントの収集、メモリ オブジェクトのカウント、メモリのガベージ コレクションも有効にします。Android O ベースの端末やエミュレータには、アプリをデプロイするだけで利用できます。詳細をご覧ください。
Network Profiler
Android O 以前の端末での Network Profiler の設定
- APK Analyzer の改善 - Android Studio 3.0 の APK Analyzer がさらに拡張されており、APK のサイズを詳細に分析できるようになっています。この機能のアップデートと合わせて、Instant App の zip ファイルや AAR の分析、クラスやメソッドの dex バイトコードの参照も可能になります。さらに、Proguard 設定ルールの生成や、dex ビューアでの Proguard マッピング ファイルの読み込みも可能です。詳細をご覧ください。
APK Analyzer
Android Studio 3.0 Canary 1 に含まれる主な新機能をまとめます。
詳細は、
リリースノートをご覧ください。
スタートガイド
ダウンロード
以前のバージョンの Android Studio を使っている方は、
安定版とは別に Android Studio 3.0 Canary 1 をインストールできます。今回のアップデートは、公式の Android Studio プレビューの
ダウンロード ページからダウンロードできます。本ブログで説明したように、Gradle プラグイン API は IDE の新機能をサポートするために大幅に変更されています。そのため、アプリのプロジェクト設定のテストや検証を行うには、現在のプロジェクトの Android Gradle プラグインのバージョンも 3.0.0-alpha1 にアップデートする必要があります。
気に入った機能や問題点、新機能の提案などのフィードバックは大歓迎です。バグや問題を見つけた方は、ご遠慮なく
問題を送信してください。
Google+ のページや
Twitter で Android Studio 開発チームからの情報を常にチェックしてください。
Posted by