Android Studio 3.5(2019 年 8 月)

Android Studio 3.5 は Project Marble の結果を反映したメジャー リリースです。 Android Studio 3.3 リリース以降の複数のリリースにおいて、Project Marble イニシアチブは IDE の 3 つの主要領域の改善に重点を置いています。それは、システムの健全性機能の改良、バグの修正です。

Project Marble の上記の情報とその他の最新情報については、Android デベロッパー ブログの記事または下記のセクションをご覧ください。

Google は、このリリースにご協力いただいたすべてのコミュニティ貢献者に感謝の意を表します。

3.5.3(2019 年 12 月)

このマイナー アップデートには、さまざまなバグ修正とパフォーマンス改善が含まれています。

3.5.2(2019 年 11 月)

このマイナー アップデートには、さまざまなバグ修正とパフォーマンス改善が含まれています。 主なバグ修正のリストについては、リリース アップデート情報ブログの関連記事をご覧ください。

3.5.1(2019 年 10 月)

このマイナー アップデートには、さまざまなバグ修正とパフォーマンス改善が含まれています。 主なバグ修正のリストについては、リリース アップデート情報ブログの関連記事をご覧ください。

Project Marble: システムの健全性

このセクションでは、Android Studio 3.5 におけるシステムの健全性の向上に焦点を当てた変更について説明します。

メモリの推奨設定

OS が Android Studio プロセス(コア IDE、Gradle デーモン、Kotlin デーモンなど)に割り当てる RAM の最大容量を増やすことでパフォーマンスを改善できると判断した場合、Android Studio はその旨を通知するようになりました。通知に含まれるアクション リンクをクリックして推奨設定をそのまま受け入れるか、または手動で推奨設定を調整できます。手動で調整するには、[File] > [Settings](macOS の場合は [Android Studio] > [Preferences])を選択して、[Appearance & Behavior] > [System Settings] の [Memory Settings] に移動します。 詳細については、最大ヒープサイズをご覧ください。

メモリの推奨設定に関する通知

メモリの推奨設定に関する通知

メモリ使用状況レポート

Android Studio で生じるメモリの問題は、再現して報告することが難しい場合があります。この問題を解決するため、Android Studio では、メニューバーから [Help] > [Analyze Memory Usage] をクリックして、メモリ使用状況レポートを生成できます。レポートを生成する際、IDE は個人情報のデータをローカルでサニタイズした後、メモリの問題の原因を特定するために Android Studio チームにレポートを送信するかどうかを尋ねます。詳細については、メモリ使用状況レポートの実行をご覧ください。

メモリ使用状況レポート

メモリ使用状況レポート

Windows: ウイルス対策ファイルの I/O の最適化

現在 Android Studio は、リアルタイム ウイルス対策スキャンから特定のプロジェクト ディレクトリが除外されるかどうかを自動的に確認します。調整によってビルド パフォーマンスを改善できる場合、Android Studio はその旨を通知し、ウイルス対策構成を最適化する方法を知らせます。詳細については、ビルド速度に対するウイルス対策ソフトウェアの影響を最小限に抑えるをご覧ください。

Project Marble: 機能の改良

このセクションでは、既存の機能の改良を中心とする Android Studio 3.5 の変更について説明します。

Apply Changes

Apply Changes を使用すると、アプリを再起動せずに(場合によっては、現在のアクティビティを再起動せずに)、実行中のアプリに対してコードやリソースの変更をプッシュできます。Apply Changes は、アプリの状態を保持するためのまったく新しいアプローチを実現します。Apply Changes は、APK のバイトコードを書き換える Instant Run とは異なり、Android 8.0(API レベル 26)以上でサポートされているランタイム インストルメンテーションを利用して、臨機応変にクラスを再定義します。

詳細については、Apply Changes をご覧ください。

Apply Changes のツールバー ボタン

Apply Changes のツールバー ボタン

アプリのデプロイフロー

IDE の新しいプルダウン メニューでは、アプリをデプロイするデバイスを簡単に選択できます。このメニューには、アプリを複数のデバイスで一度に実行できる新しいオプションもあります。

ターゲット デバイスのプルダウン メニュー

ターゲット デバイスのプルダウン メニュー

Gradle 同期とキャッシュ検出の改善

ハードディスクの消費を削減する際に Gradle がビルド キャッシュを定期的にクリアするタイミングを IDE が検出する機能が改善されました。以前のバージョンでは、この状態のときに IDE が依存関係の欠落を報告し、Gradle 同期が失敗していました。現在 IDE は、Gradle 同期が正常に完了するように、必要に応じて依存関係をダウンロードします。

ビルドエラー出力の改善

[Build] ビルド ウィンドウのアイコン ウィンドウのエラーレポート機能が改善されました。このレポートには、以下のビルドプロセスに対応するファイルへのリンクや報告されたエラー行などが含まれます。

  • AAPT のコンパイルとリンク
  • R8 と ProGuard
  • dex 変換
  • リソースのマージ
  • XML ファイル解析
  • Javac、Kotlinc、CMake のコンパイル

プロジェクトのアップグレード

IDE と Android Gradle プラグインのアップデートに役立つ情報とアクションを提供するアップデート エクスペリエンスが改善されました。たとえば、アップデート時のエラーの削減に役立つアクションが、より多くの同期エラーとビルドエラーに含まれるようになりました。

IDE は Android Gradle プラグインなどの他のコンポーネントとは無関係に更新できることに留意してください。つまり、新しいバージョンが利用可能になり次第、IDE を安全にアップデートして、後から他のコンポーネントをアップデートすることが可能です。

Layout Editor

Android Studio 3.5 には、レイアウトの視覚化、管理、操作に関する改善がいくつか含まれています。

ConstraintLayout を操作する際は、[Attributes] パネルの新しい [Constraints] セクションに、選択した UI コンポーネントの制約関係がリストされます。デザイン サーフェスまたは制約リストで制約を選択して、両方の領域で制約をハイライト表示できます。

選択した UI 要素の制約関係

選択した UI 要素の制約関係

同様に、制約を選択して Delete キーを押すことで、制約を削除できます。または、Control キー(macOS の場合は Command)を押しながら制約アンカーをクリックしても、制約を削除できます。Control または Command キーを押しながらアンカーにカーソルを合わせると、該当の制約が赤色に変わり、クリックして削除できることが示されます。

ビューが選択されているときは、[Attributes] パネルの [Constraint Widget] セクションでいずれかの [+] アイコンをクリックすることにより、制約を作成できます。次の図をご覧ください。新しい制約を作成すると、Layout Editor により制約が選択されてハイライト表示され、追加した情報がすぐに反映されて視覚化されます。

制約ウィジェットで制約を作成する方法を示すアニメーション

制約ウィジェットで制約を作成する

制約を作成すると、制約できる適格なアンカー ポイントのみが表示されます。以前は、制約できるかどうかにかかわらず、すべてのビューのすべてのアンカー ポイントがハイライト表示されていました。また、青いオーバーレイにより制約のターゲットがハイライト表示されます。このハイライト表示は、他のコンポーネントと重なっているコンポーネントに制約を適用するときに、特に便利です。

Android Studio 3.4 で重なり合ったコンポーネントに制約を作成する方法を示すアニメーション

Android Studio 3.4 で重なり合ったコンポーネントに制約を作成する

Android Studio 3.5 で重なり合ったコンポーネントに制約を作成する方法を示すアニメーション

Android Studio 3.5 で重なり合ったコンポーネントに制約を作成する

Android Studio 3.5 には、上記のアップデートに加えて、Layout Editor に関する以下の改善も含まれています。

  • 制約ウィジェットとデフォルト マージンのプルダウンで、マージンにディメンション リソースを使用できるようになりました。
  • Layout Editor のツールバーで、デザイン サーフェスのサイズを決定するデバイスのリストが更新されました。さらに、サイズ変更時のスナップ動作が改善されるとともに、デザイン サーフェスのサイズ変更ハンドルが常に表示されるようになりました。サイズ変更時には、一般的なデバイスのサイズを示す新しいオーバーレイが表示されます。
  • Layout Editor のカラーパターンが新しくなり、一貫性が強化されて、コンポーネント、テキスト、制約のコントラストが縮小されました。
  • ブループリント モードでは、テキストが表示されなかった一部のコンポーネントでテキストがサポートされるようになりました。

上記の変更の詳細については、Android Studio Project Marble: Layout Editor をご覧ください。

Data Binding

IDE で、Data Binding について増分アノテーション処理のサポートが追加されただけでなく、XML でデータ バインディング式を作成するときのスマート エディタ機能とパフォーマンスが改善されました。

Android Studio 3.4 でのコードエディタのパフォーマンスを示すアニメーション

Android Studio 3.4 でのコードエディタのパフォーマンス

Android Studio 3.5 でのコードエディタのパフォーマンスを示すアニメーション

Android Studio 3.5 でのコード編集のパフォーマンスの向上

C/C++ プロジェクトのサポートの改善

Android Studio 3.5 には、C / C++ プロジェクトのサポートを改善する変更がいくつか含まれています。

単一バリアント同期用の [Build Variants] パネルの改善

[Build Variants] パネルで、アクティブなビルド バリアントとアクティブな ABI の両方を指定できるようになりました。この機能により、モジュールごとのビルド構成が簡単になり、Gradle 同期のパフォーマンスも向上します。

詳細については、ビルド バリアントの変更をご覧ください。

ABI 別に選択された単一バリアントが表示された [Build Variants] パネル

ABI 別に選択された単一バリアントが表示された [Build Variants] パネル

NDK の並列バージョン

NDK の複数のバージョンを並列で使用できるようになりました。この機能により、プロジェクトを構成する際の柔軟性が向上します。たとえば、同じマシン上に異なるバージョンの NDK を使用するプロジェクトがある場合などに便利です。

プロジェクトで Android Gradle Plugin 3.5.0 以上を使用している場合は、プロジェクト内の各モジュールで使用する NDK のバージョンも指定できます。この機能を使用して、再現可能なビルドを作成し、NDK バージョンと Android Gradle プラグイン間の非互換性を軽減できます。

詳細については、NDK、CMake、LLDB のインストールと構成をご覧ください。

ChromeOS のサポート

Android Studio では、HP Chromebook x360 14 や Acer Chromebook 13/Spin 13 を含め、システム要件に記載されている各種の ChromeOS デバイスが公式にサポートされています。使用するには、互換性のある ChromeOS デバイスで Android Studio をダウンロードし、インストール手順を実施します。

注: 現在、ChromeOS 上の Android Studio では、接続されたハードウェア デバイスにのみアプリをデプロイできます。詳細については、ハードウェア デバイスでアプリを実行するをご覧ください。

機能モジュールの条件付き配信

条件付き配信を使用すると、アプリのインストール時に機能モジュールを自動的にダウンロードするための特定のデバイス構成要件を設定できます。 たとえば、拡張現実(AR)用の機能を含む機能モジュールが、AR 対応のデバイスに限り、アプリのインストール時に利用可能になるように構成できます。

現在、この配信メカニズムでは、以下のデバイス構成に基づいて、アプリのインストール時のモジュールのダウンロードを制御できます。

  • デバイスのハードウェア機能とソフトウェア機能(OpenGL ES バージョンなど)
  • ユーザーの国
  • API レベル

指定したすべての要件をデバイスが満たさない限り、モジュールはアプリのインストール時にダウンロードされません。ただし、アプリは後で、Play Core Library を使用してオンデマンドでモジュールをダウンロードするようリクエストできます。詳細については、条件付き配信の構成をご覧ください。

IntelliJ IDEA 2019.1

IntelliJ IDEA 2019.1 リリースによる改善(テーマのカスタマイズなど)に伴い、コアの Android Studio IDE が更新されました。

Android Studio に前回組み込まれた IntelliJ バージョンは 2018.3.4 でした。 Android Studio のこのリリースに累積的に組み込まれている他の IntelliJ バージョンの改善点については、以下のバグ修正アップデートをご覧ください。

Android Gradle Plugin 3.5.0 のアップデート

増分アノテーション処理とキャッシュ可能な単体テストのサポートの改善などを含む Android Gradle Plugin 3.5.0 の新機能については、該当のリリースノートをご覧ください。

コミュニティ貢献者

Google は、バグの発見などを通して Android Studio 3.5 の改善にご協力いただいたすべてのコミュニティ貢献者に感謝の意を表します。P0 および P1 のバグをご報告いただいた以下の方々には、特に感謝いたします。