プロジェクト

全般

プロフィール

Android Studioのセットアップ

Windows環境でのAndroidセットアップについて記述します。

リリース情報

Android Studio Release Notes

Ver. Date IntelliJ IDEA Note
4.0 2020-05 2019.3.3 Motion Editor
3.6 2020-02 2019.2
3.5 2019-08 2019.1
3.4 2019-04 2018.3.4
3.3 2019-01 2018.2.2
3.2 2018-09 2018.1.6
3.1 2018-03 2017.3.3
3.0 2017-10 2017.1.2 Android 8.0, Java 8・Kotlin対応
2.0 2016-04 15
1.0 2014.12 初期リリース(製品版)

初期設定

入手

https://developer.android.com/studio

Windows版をダウンロードします。2020年8月10日現在、次のファイルが得られます。

  • android-studio-ide-193.6626763-windows.exe

このページには、動作環境の条件(System Requirements)も記載されています。同日現在のWindows版の条件は

OS Microsoft Windows 7/8/10 (64bit)
RAM 最低4GB以上、推奨8GB
HDD 500MB + 1.5GB 1.5GBはAndroid SDK、エミュレータ
画面 1280×800以上
エミュレータの高速化(オプション) VT-x, EM64T、XD機能対応インテル製CPU

JDKについて

Android Studio 4.0(IntelliJ IDEA 2019)は自身を実行するためのJava実行環境としてJDK 8が同梱されています。
APIレベル24以降はJDK 8を使用します。

インストール

ダウンロードしたファイルを実行します。

install-01.png

install-02.png

Android Studioのインストール先を設定します(次の画面)。

install-04.png

install-05.png

install-06.png

install-07.png

Android SDKのインストール

Android Studioをインストールした直後は、必要なAndroid SDK(のバージョン)が入っていない可能性があります。

  • [Tools]メニュー > [Android] > [SDK Manager] をクリックし、「Android SDK Manager」画面を開きます。
  • Androidバージョン(APIレベル)一覧が表示されるので、使用するバージョンをチェックし、[Install NN packages...]ボタンをクリックします。(NN:インストールするパッケージの数)
  • ダウンロードが始まり、指定したパッケージがインストールされます。

インターネット接続環境でのSDKの構成

2020-08-10時点でWindows用Android Studio(193.6626763)をインストールしたときにデフォルトでインストールされたSDKの構成は次の通りです。

  • SDK Platforms
    • Android 10.0+ (R)
  • SDK Tools
    • Android SDK Build-Tools
    • Android Emulator
    • Android Emulator Hypervisor Driver for AMD Processors (Installer)
    • Android SDK Platform Tools

WindowsでSDKがインストールされるデフォルトのディレクトリは、
C:\Users\<ユーザー名>\AppData\Local\Android\sdk となります。

インターネット非接続環境でのSDKの構成

調査途中のメモを以下に記載

インターネット非接続環境でのAndroid Studioセットアップ

Androidプロジェクトのビルドに使用するJDKバージョン

インストールしたAndroid Studioを立ち上げると、そのマシンのカレントのJavaバージョンが使われます。カレントのバージョンは通常より新しいバージョンなので、JDK 7とJDK 8を両方インストールしたマシンではJDK 8が使われます。

JDK 8を使って立ち上がったAndroid Studioの中でAndroidプロジェクトをビルドするときにJDK 7を使うには、

  • [File]メニュー > [Project Structure]をクリックし、「Project Structure」ダイアログを開きます。
  • 左側ペインで[SDK Location]を選択し、右側ペインの[JDK location]欄にJDK 7のパスを記述し[OK]ボタンをクリックします。

Android Studio自体が使用するJDKに関する設定

Android Studioは、それ自身を実行するJDKを同梱しているので、JDKを入れていないマシンでも問題なく実行できます。
同梱しているJDK以外のJDKでAntdorid Studioを実行することも可能です。

https://developer.android.com/studio/intro/studio-config.html

JDKバージョンの指定

環境変数STUDIO_JDKに、使用するJDKバージョンのインストールディレクトリを設定します。

JavaVMのVMオプション

Android Studio自体がJavaで書かれたプログラムなので、JavaVMのオプションを指定することで使用するメモリ量などの調整が可能です。
デフォルトで適用されるJavaVMオプションは、<Android Studioインストールディレクトリ>\binの下の設定ファイルに定義されています。

studio.exe.vmoptions

studio.exe.vmoptionsを表示する

この設定ファイルを直接編集するのは推奨されません。Android Studioでは、Android Studioのバージョンに対応する次のディレクトリの下に上述設定と同じ書式のカスタマイズ設定を記述したファイルを置きます。

Android Studio 3.3 %USERPROFILE%\.AndroidStudio3.3
Android Studio 4.0 %USERPROFILE%\.AndroidStudio4.0\config\studio64.exe.vmoptions

このファイルは、Android Studio上で[Help]メニュー > [Edit Custom VM Options] で編集できます。

もっともよく変更するのは最大メモリサイズでしょう。デフォルトは750MBと小さいので、大きくしておきます。
(物理メモリは16GB搭載のPCなのでふんだんに割り当て、搭載メモリが少ない場合は他との按配で)

-Xms512m
-Xmx2048m
-XX:ReservedCodeCacheSize=512m

テーマ

  • [File]メニュー > [Settings...] でSettingsウィンドウ(設定画面)を開きます。
  • 左側ペインで[Appearance]を選択し、右側ペインでTheme:欄のリストから選択します。

setting-02.png

現時点で選択できるのは次です。

テーマ 概要
IntelliJ デフォルトのテーマ
Darcula 黒ベースのコントラストが淡いテーマ
High contrast 黒ベースでくっきりしたテーマ

フォント

編集画面(エディタ)のフォント

  • [File]メニュー > [Settings...] でSettingsウィンドウ(設定画面)を開きます。
  • 左側ペインで[Editor] > [Font]を選択します。
  • 右側ペインでFont:欄のリストから使用するフォントを選択します。
    • Font:欄に英字のみのフォントを指定した場合、英字以外を代替フォントを指定することが可能です。代替フォントはFallback font:欄のリストから選択します。

エディタペインの表示

行番号

  • [File]メニュー > [Settings...] でSettingsウィンドウ(設定画面)を開きます。
  • 左側ペインで[Editor] > [General] > [Appearance]を選択します。
  • 右側ペインで[Show line numbers]にチェックを付けます。

不可視文字の可視化

改行、空白、タブなどの通常不可視な文字を可視化する設定をします。

  • [File]メニュー > [Settings...] でSettingsウィンドウ(設定画面)を開きます。
  • 左側ペインで[Editor] > [General] > [Appearance]を選択します。
  • 右側ペインで[Show whitespaces]にチェックを付けます。

Javaのスタイル

Javaのコードスタイルについての設定は次の画面で行います。

  • [File]メニュー > [Settings...] でSettingsウィンドウ(設定画面)を開きます。
  • 左側ペインで[Editor] > [Code Style] > [Java]を選択します。

switch文のcase句インデント

デフォルトではcase句がインデントされます。インデントをしない設定は次のとおりです。

  • [Wrapping and Braces]タブを選択、'switch' statement > Indent 'case' branches のチェックを外す

プラグインによる拡張

外観関連

背景画像

エディタ画面の背景に画像を表示するSexy Editorプラグインがあります。
http://plugins.jetbrains.com/plugin/?id=1833

エミュレーターの設定

Androidを模擬して実行するエミュレーターを設定します。Androidデバイス実機がない場合にエミュレーター上でプログラムを実行します。

エミュレーターの作成

  • [Tools]メニュー > [Android] > [AVD Manager]をクリックし、「Android Virtual Device Manager」画面を開きます。
    • デフォルトでは、"Nexus 5 API 21 x86"というデバイスが作成されています。これは、HAXMをインストールしておかないとエラーになってしまいます(後述)。
  • [Create Virtual Device...]ボタンを押し、「Virtual Device Configuration」画面を開きます。
  • Category欄でデバイス種類(スマートフォン、タブレット、など)を選び、次に詳細種類を選びます。
    • 例)Tablet - 10.1" WXGA(Tablet)
  • [Next]ボタンを押し、System Imageを選択します。Release Name欄にDownloadが表示されている場合は、まずDownloadをクリックしてSystem Imageを入手すると選択可能となります。
  • [Next]ボタンを押し、名前等を指定します。

ARMとx86の違い

  • エミュレーターの起動時間がx86の方が早い
    Windows 8.1ノートPC(dynabook KIRA L93/39M)で、ARMが4分、x86が40秒

トラブルシュート

x86 emulationエラー

エミュレーターで、x86のイメージを使用すると次のエラーが発生しました。

emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure Intel HAXM is properly installed and usable.
CPU acceleration status: HAX kernel module is not installed!

x86のイメージを実行するには、Intel HAXMをインストールしておく必要があります。
「Android SDK Manager」画面を開き、Extrasの下の"Intel x86 Emulator Accelerator(HAXM installer)"にチェックをつけて[Install]ボタンを押します。これは、HAXMインストーラをSDKディレクトリ以下にダウンロードするだけなので、ダウンロードされたインストーラを手動で実行します。

C:\Users\<ユーザー名>\AppData\Local\Android\sdk\extras\intel\Hardware_Accelerated_Execution_Managerディレクトリの中にあるintelhaxm-android.exeを実行します。次のインストーラ画面が表示されます。

haxminstall-1.png

使用するメモリを聞かれるので、マシンの搭載メモリを勘案して適切そうな値を指定します。

Gradleビルド

ビルド結果の表示が文字化ける

Windows日本語環境上でAndroid Studioを使うとき、Build Outputペインに表示されるGradleのビルド結果でJavaコンパイラの出力メッセージが文字化けします。

Android Studio自身のJavaVMオプション追加

[Help]メニュー > [Edit Custom VM Options] で開く studio64.exe.vmoptionsファイルに次を記述

-Dfile.encoding=UTF-8

ビルドが遅い

Android Studioを使って誰しも感じることが「ビルドが遅い」ではないでしょうか。Javaなのにビルド待ちに何分も費やすなんて・・・
Android StudioはビルドをGradleに丸投げなので、高速化は基本的にGradleの範疇です。

ビルドを高速にする設定の情報収集

未検証を含めてAndroid Studioのビルド高速化について情報収集したことのメモ

  • Android Studio自身に割り当てるメモリ
    • ヒープサイズのデフォルトは小さい(@-Xms128m -Xmx750m)ので、増やすとよいでしょう
    • ネイティブコードのキャッシュサイズのデフォルトは-XX:ReservedCodeCacheSize=225mなので512m位まで増やしてもよいかも
  • インクリメンタルビルド
    これは効果ありそう
  • Gradleデーモン
    Android StudioはデフォルトでGradleデーモンを使用します。Gradleデーモンに割り当てるメモリを増やすと効果があるかもしれません。
  • gradleラッパーではなくローカルインストールしたGradleを使用
    効果のほどは不明です。
  • 並列実行
  • Configuration on demand
    Android Studioはデフォルトでチェックされています。
  • preDexLibrariesを無効に(毎回クリーンビルドする環境で無効にする。インクリメンタルビルドする環境では無効にしない)
  • Jack and Jillコンパイラを使う(近未来)
    従来のjavacでコンパイルしdexに変換するという二段階処理を新しいツールjackで一段階処理でこなす新ビルドツールです。
  • gradle 2.4を使う
    Android Studio 1.2はgradle 2.2を使いますが、2.4にするとgradle自身の高速化が図れるようです。

Gradleデーモン

Android Studioからビルドするときはデフォルトで使われます。JConsoleでつないで設定を見ると、VM引数は次のようになっています。

-XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -Dfile.encoding=windows-31j \
-Duser.country=JP -Duser.language=ja -Duser.variant

メモリを多めに与えるとよいかもしれません。-Xmx2048mとか
ファイルエンコーディングはUTF-8にした方がよいかも

コマンドラインからビルドするときは、デーモンを有効にしておくとよいでしょう($HOME/.gradle/gradle.properties)。

インクリメンタルビルド

モジュールのbuild.gradleに追記

android {
  ...
  dexOptions {
    incremental true
  }
}