ここから本文です

この知恵ノートを「知恵コレクション」に追加しました。

追加した知恵ノートはMy知恵袋の「知恵コレクション」ページで確認できます。

知恵コレクション」に登録済みです。

再登録しました。

追加に失敗しました。

ノートに戻り、もう一度やり直してください。

すでに1,000件のノートが登録されています。

新しく追加したい場合は、My知恵袋の「知恵コレクション」ページで登録されているノートを削除してください。

追加できませんでした。

ノートは削除されました。

ディスクを浪費しないAndroid SDKの環境構築方法

ライターさん(最終更新日時:2016/12/29)投稿日:

  • ナイス!:

    3

  • 閲覧数:9663

印刷用のページを表示する

はじめに

Android SDKは巨大?

このところ、ツイッターなどで「Android SDKのダウンロードに半日かかった」「Android SDKでハードディスクを数十GBも消費した」といったものをしばしば目にします。これらは、どうもSDKマネージャーの初期操作で必要以上にパッケージをダウンロードしているために起きているようです。ここでは、Androidアプリケーションを開発するために必要な最小限の構成とそのときのファイルサイズを、Windows版を例にとって紹介します。なお、必要とするパッケージは他OSでも同様なので、この知識は他OS版Android SDKにも応用できます。


準備

Android SDKをダウンロードする

ここでは、Android SDKはダウンロードページの下方にある「コマンドライン ツールのみ入手する」から、Windows版のzipファイルをダウンロードします。以前はWindows版についてはインストーラー形式のexeファイルも配布されていましたが、2016年11月ごろからzipファイルのみの配布となったようです。 

1.png


展開して初期サイズを調べてみる

まず、Android SDKを展開するためのフォルダーを任意の場所に作ります。ここでは、Cドライブのルートフォルダーにandroidというフォルダーを作り、さらにその中にsdkというフォルダーを作成しました。そのsdkフォルダーに、ダウンロードしたzipファイルを展開します。すると、sdkフォルダーの中にtoolsというフォルダーが作られます。 

2.png


このtoolsフォルダーのサイズは約490MB(ディスク上のサイズ)です。ここが出発点になります。 

3.png


注意

  • zipファイルを展開するフォルダーの名前は何でも構いませんが、必ず新たに作った空のフォルダーに展開するようにしましょう。


最小構成をしてみよう

展開直後のSDKマネージャー

展開したtoolsフォルダーの中にあるandroid.batを実行すると、SDKマネージャーを起動することができます。


展開後初めてSDKマネージャーを起動すると、いくつかのパッケージに最初からチェックが入っており、このままインストールボタンをクリックすれば先に進むことはできます。しかし、このまま進んでしまうことは、まさに冒頭で述べたディスク容量の無駄遣い、ダウンロード時間の浪費に直結してしまいます。


ここから、必要最小限構成に絞ってみましょう。


Toolsのツリーの先頭にあるAndroid SDK ToolsはAndroid SDKの核とも言えるツール群で、最初からzipファイルに格納されていますが、それよりも新しいリビジョンが存在する場合、ここにもチェックが入ります。下図の例では、ダウンロードしたSDK Toolsがrev. 25.2.3よりも新しいrev. 25.2.4が存在したため、更新のためにチェックが入っています。その下にあるAndroid SDK Platform-toolsにはデバッグのためのホスト端末間通信に用いるADB(Android Debug Bride)などの開発ツールが含まれています。Android SDK Build-toolsにもapkパッケージを生成するためのaapt(Android Asset Packaging Tool)コマンドなどが含まれています。いずれもAndroidアプリケーション開発には必須なので、外すことはできません。 

4.png

 

ポイント

  • Android SDK Build-toolsは、最新版だけではなく過去のリビジョンもリストアップされています。過去のBuild-toolsでビルドしたプロジェクトをインポートすると、Build-toolsもそのときのものに合わせなければビルドが通らないこともあります。最新版が過去のリビジョンとの完全な互換性を備えているわけではないことは押さえておいた方が良いでしょう。


プレビュー版のパッケージ

Googleでは、新しいAPIレベルを発表したときには、正式リリース前にプレビュー版を公開しています。下図は、最新正式版がAndroid 6.0 (API 23) で、 プレビュー版としてAndroid N (後にAndroid 7.0となるバージョン)が公開されていたときの状態です。 

5.png


プレビュー版が存在するときには、プレビュー版と最新正式版の両方の全パッケージにチェックが入っています。しかし、プレビュー版は正式版ではないため、仕様が変わる可能性があるので、すぐに動かしたいアプリケーションを開発するためにはインストールする必要はありません。これらはチェックを外しておきましょう。


一つのAPIレベルで必要なパッケージ 

次にAPIレベルごとのパッケージを見てみましょう。ここでは、Android 7.0 (API 24) を例にとってみます(この項を執筆したときにはAPI 25がリリースされているのですが、配布されているパッケージの都合でAPI 24で例示しています)。 

6.png

 

SDK Platformは開発の根幹となるパッケージで、これを導入しなければそのAPIレベルの開発は一切できません。また、2016年現在のGoogle公式開発環境であるAndroid Studioを用いて開発するには、SDKのソースファイル群であるSources for Android SDKを参照するようになっているため、これも導入する必要があります。


そして、末尾にSystem Imageと付くパッケージがいくつも並んでいます。これらはAndroidエミュレーター上で動作させるAndroid仮想デバイス(AVD)のイメージファイルです。エミュレーションするCPUおよびGoogle APIへの対応によってバリエーションがあります。これらは一つ一つのファイルサイズが非常に大きいため、冒頭に記したダウンロード時間やSDK全体のサイズに大きく影響を及ぼします


まず、エミュレーター自体が非常に重いアプリケーションのため、これをまともに動かせない性能のPCであったとしたら、入れること自体に意味がありません。また、動作させる端末実機を所有しており、エミュレーターを使ったデバッグを考えていない人にも無用でしょう。エミュレーターの利用を想定している人でも、全てを入れる必要はまずありません。Intel x86のイメージは、HAXMというプログラムによって動作を高速化できるため、これを活用できる環境があれば利用価値はあります(参考:Android仮想デバイス(AVD)の高速化)。


また、Google MapsのようなGoogle APIsを用いたアプリケーションをエミュレーター上で動かすためには、Google APIsのイメージを選ぶことになります。ARMのイメージに至っては、ARMネイティブコードを用いたアプリケーションをエミュレーター上で動作させたいなど、用途は限定的になるでしょう。


また、Documentation for Android SDKというパッケージはその名の通りSDKのオフラインドキュメントですが、閲覧する意図がなければインストールする必要はないでしょう。これらの情報はウェブでも得られます。


ということで、実は必要不可欠なのはSDK PlatformとSources for Android SDKの2つだけであり、それ以外は利用する意図がなければ入れる必要がないのです。これを、デフォルトでチェックが入っていたなどの理由で不必要に導入してしまうと、ダウンロード時間やディスクの浪費に繋がってしまいます(そもそも、デフォルトでチェックが入ってしまうことが意地悪ではあるのだが)。


他のAPIレベルのパッケージは必要?

SDKマネージャーでは、APIレベルごとにパッケージが用意されています。自分が所有しているAndroid端末向けのアプリケーションを開発するには、同じAPIレベルのSDK Platformを入れなければならないと思われがちのようです。しかし、SDK Platformはそれ以前のAPIレベルの機能を包括しているので、その必要はありません。例えばAndroid 4.4.2の端末向けのアプリケーションも最新のSDK Platformがあれば開発可能で、API 19のSDK Platformは必須ではないのです。ここを勘違いして、全てのAPIレベルのSDK Platformをインストールしようとしてしまうことも、ディスクの浪費となります


ただ、APIレベルが更新されると、それまで利用可能であったAPIが非推奨や廃止になることもあります。古い資料を参考にしてアプリケーション開発したいときには、これが弊害になって戸惑うこともあるでしょう。そうしたときには、意図して参考物に合わせたAPIレベルをインストールして利用することも有効です。


Extrasで必要なパッケージ

Google USB Driverにはデフォルトでチェックが入るようになっていますが、こちらは端末メーカーが配布しているADBデバイスドライバーがあれば、必ずしも必要なものではありません。ただ、大した容量ではないのでここではそのまま導入することとします(参考:Google USB DriverでAndroid端末をWindowsに認識させる)。


Android Studioで開発する場合、Android Support RepositoryGoogle Repositoryの2つが必要とされるため、これらにはチェックを入れて追加します。 

7.png

 

ポイント

  • かつて、ExtrasのリストにはAndroid Support Libraryという項目があり、開発に必須のパッケージとして、SDKマネージャーを開いたときに未インストールであったときには自動的にチェックが入る項目になっていました。しかし、これはEclipseによる開発環境に必要なものであり、Android StudioではAndroid Support Repositoryに含まれているライブラリーを参照しています。このため、Android Studioによる開発においてはAndroid Support Libraryのインストールは不要となっているのですが、未だに必要とする資料が多く見られます。すでにSDKマネージャーからは導入できなくなっているので、混乱しないように注意が必要でしょう。


そして最小構成のサイズは

これによって、アプリケーション開発のための最小限構成に必要なパッケージは次の8つとなります。


  • Android SDK Tools
  • Android SDK Platform-tools
  • Android SDK Build-tools(最新版のみ)
  • API 24のSDK Platform
  • API 24のSources for Android SDK
  • Android Support Repository
  • Google Repository
  • Google USB Driver


これらのパッケージをインストールすると、sdkフォルダーの中は次のようになります。最初に展開したtoolsフォルダーと並んで、様々なフォルダーが作成されています。 
16.png

インストール後のsdkフォルダーのサイズを調べてみます。すると、下図のように約1.33GBとなりました。このノートを最初に作成したのはAPI 19の頃であり、そのときは343MBであったため、それに比べればかなり大きくなってはいます。それでも、「Android SDKで数十GBのディスクを消費する」と嘆いていた方の想像は大きく下回るものでしょう。 
9.png
 

実際には、この構成に自分で必要なパッケージをいくつか足していくことになりますから、もう少し大きなサイズになります。外部から入手したアプリケーションのプロジェクトをインポートするには、古いAPIレベルのSDK Platformが必要になることもあるでしょう。また、エミュレーターを必要とするならば、どうしてもGB単位のディスク容量は要します。


ただ、理解なしに無用なものを導入することで、様々な無駄に直面してAndroidアプリケーションの開発意欲が削がれてしまうのは、とても勿体無いことです。初めての開発ならば、まずはこのノートのように最小限の構成に止めて、必要に応じてパッケージを追加していくことが望ましいでしょう。


System Imageに自動的にチェックが入るのを防ぐには 

最小限構成の導入が完了した後も、SDKマネージャーを開くとその都度全てのSystem Imageに自動的にチェックが入ってしまいます。これは、1つもSystem Imageが導入されていないときの仕様のようです。 

10.png


1つでもSystem Imageをインストールすると、これを防ぐことができます。AVDを利用する人であれば必要なSystem Imageをインストールすれば良いのですが、AVDを利用しない人にとっては鬱陶しいだけのものです。ディスク容量に余裕があるのならば、無駄を承知で1つだけ入れてしまうのも手ではあります。 

11.png


Android Studio内蔵のSDKマネージャー

Google公式開発環境であるAndroid Studioには、これまで紹介したSDK付属のスタンドアロン版SDKマネージャーとは別に、内蔵のSDKマネージャーが存在します。起動ウィンドウから呼び出すには、右下のConfigureをクリックし、プルダウンメニューからSDK Managerを選択します。 

12.png


起動すると下図のような画面が表示されます。スタンドアロン版では全てのカテゴリーが一つのウィンドウ内に表示されていましたが、こちらはカテゴリーごとに分けられたタブを選択する方式になっています。 

13.png


このSDKマネージャーで未導入のAPIレベルにチェックを入れてインストールを実行(右下のOKまたはApplyボタンをクリック)すると、下図のように必要最低限であるSDK PlatformとSources for Android SDKの2つを導入するようになっています。 

14.png


このSDKマネージャーでは、デフォルトではスタンドアロン版と比べて細かいパッケージが表示されていません。しかし、右下にあるShow Package Detailsにチェックを入れることで、スタンドアロン版と同様のSystem Imageなどの他パッケージもリストアップされるようになります。

15.png


Android Studioを利用できる環境が整ったならば、こちらのSDKマネージャーを中心に利用するようにするのが良いでしょう。この内蔵SDKマネージャーであれば、スタンドアロン版にあった「1つもSystem Imageが入っていなければ自動的にチェックが入る」という動作もありません。そういう意味でも有用性があります。


改版履歴

(2014/09/26)初版

(2014/10/03)文章一部修正

(2016/04/13)現行SDKに合わせた画像差し替え、文章修正

(2016/05/13)Android Support Libraryは不要らしいことを暫定で記述

(2016/05/23)上記に関連して画像差し替え、取り消し線記述を除去して文章を修正

(2016/12/27)SDKのみの配布ファイルの構成が変わったためにそれに対応


このノートに関するQ&A

このノートに関するQ&Aは、まだありません。

このノートについて質問する

このノートについてライターの方に質問できます。

※ライターの方から必ず回答をいただけるとは限りません

※別ウィンドウで開きます

この知恵ノートのライター

アップロード写真

グレード知恵ノートのグレード:3-3

カテゴリマスター

keicha_hrsさん

ピックアップ

【iPhone】修理交換の申込方法...
 ※追記※2015/1/30現在iPhone6及び6+が発売されたのを受け、情...
耳鼻科の先生に聞いた、しゃっ...
  皆さん、しゃっくりってわずらわしいですよね  ある時急に...
厄年について——意外と知られて...
厄年とは何か厄年とは文字どおり災厄に遭いやすいといわれる...
本文はここまでです このページの先頭へ