Android Studioのセットアップ¶
Windows環境でのAndroidセットアップについて記述します。
リリース情報¶
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を使用します。
インストール¶
ダウンロードしたファイルを実行します。
Android Studioのインストール先を設定します(次の画面)。
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:欄のリストから選択します。
現時点で選択できるのは次です。
テーマ | 概要 |
---|---|
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
を実行します。次のインストーラ画面が表示されます。
使用するメモリを聞かれるので、マシンの搭載メモリを勘案して適切そうな値を指定します。
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 } }