はじめに
今回から数回に渡り、Android アプリの開発環境を快適にするための Tips を紹介します
これから Android 開発を始めようとしている方への導入や、Android の開発にもだいぶ慣れたけど、あまりカスタマイズはやってないな、という方へ向けた小技編といった内容でお送りします。
Android 開発環境
Android のアプリケーションを作成するための開発環境は現在過渡期にあり、2つの環境が存在しています。
現在まで主流であった開発環境は、Java をはじめとした様々な言語に対応した IDE である Eclipse です。以前は、Eclipse にプラグインを導入することで Android アプリ開発環境を構築していましたが、近年では、SDK やプラグインも一式セットになったものが Android developers 公式サイトのSDKダウンロードページからダウンロードが出来るようになり、導入の敷居が大幅に下がりました。
そして今後主流になっていくと思われる開発環境は、「IntelliJ IDEA」というオープンソースの IDE をベースとして Android 向けに最適化した Android Studio です。こちらについては、次回以降の記事で詳しく紹介したいと思います。
開発者は用途に合わせて、どちらかを選択することになります。
今回は Eclipse を使った環境構築について説明していきたいと思います。
Eclipse
Eclipse はとても便利な IDE です。開発に必要なものは一通り揃っている上、便利な機能が盛り沢山になっています。そのため、それらの便利機能を使いこなすことが出来ないともったいないです。
Eclipse は色々な機能を盛り込んでいるため、それらを全て起動するのに時間がかかってしまうこともあります。せっかく時間をかけて起動している Eclipse で、便利機能を使えないと意味が無いと思いませんか?どうせなら使える便利機能を使えるだけ使って、快適な開発ライフを送ろうじゃありませんか!
Android 開発をする前にこれだけはやっておいた方がいい!といったものをここにまとめていこうかと思います。
目次
- インストール
- 環境変数の設定
- メモリ設定
- Eclipse の日本語化
- 行番号
- オートビルド
- コード補完
- Prefix の設定
- log の容量アップ
- formatter と importer
- 文字コード
- セミコロンを文末に
※ なお、今回の記事は Mac 版を元に書いています。Windows について言及している部分もありますが、それ以外の部分は適宜読み替えるようにしてください。
Windows の場合 Eclipseの環境設定を行う際のパスは ADT > 環境設定 の部分を Window > Preference にするだけで、残りは基本的に同じになるはずです。
インストールしよう
Android 開発を行うためには、Eclipse + Android SDK を使用するのが現在の一般的な方法になっています。しかし、ADT が同梱された Eclipse が配布されているので、それをダウンロードするだけで、必要最低限の開発環境は整ってしまいます。
後は、Mac であればダウンロードしてきた ADT Bundle ファイルを全て Application フォルダへコピーするだけですし、Windows なら好きな場所に展開するだけで Eclipse + Android SDK 環境の構築は終了になります。
環境変数を登録しようSDK に含まれる各種プログラムをコマンドラインから呼び出せるように、SDK インストール先へのパスを通しましょう。
Mac であればコンソールで、
% emacs ~/.bashrc
と入力し、設定ファイルを開きます。その中身に次の文章を追加します。
ANDROID_HOME=/Applications/~フォルダ名~/sdk PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform_tools:
ANDROID_HOME には、Applications フォルダへ移動した sdk までのパスを記述します。
最後にコンソールで
% source ~/.bashrc
と入力することで完了です。
Windows であれば、以下のように行います
- 「コントロールパネル > システムとセキュリティ > システム > システムの詳細設定 > システムのプロパティ」 を表示
- 「環境変数」をクリック
- システム環境変数 のリストボックスの中から Path という項目を選択し、編集をクリック
- 変数値 と書かれている部分の一番後ろに、Android SDK を解凍したフォルダまでのパスを書き込む
- 例 : ~;C:¥フォルダ名¥sdk
この段階でコンソールに次のコマンドを入力してみましょう。
%draw9patch
このコマンドを入力することで、draw9patch を起動させることができれば、パスの設定は無事完了したことになります。
Eclipse を日本語化する
Eclipse をせっかく入れてみたけれど、英語ばっかりで使いにくいと思う人もいると思います。
ですが、日本語化はあまりオススメしません。
というのも、日本語化出来るのは基本的に Eclipse 標準の機能であり、プラグインなどは日本語化に対応していないものもあるため、かなり中途半端な状態になってしまいます。また、インターネット上でEclipse の設定関連について検索すると、記事の中で英語のまま説明されているものも多いです。そのため、日本語化することで、かえって分かりにくくなるのでは無いかと思います。
それでも日本語化を行いたい時には、Pleiades というプラグインを入れてみましょう。このプラグインを Eclipse に導入するだけで、簡単にEclipse を日本語化させることが出来ます。
まず、公式サイトへ行き、最新版の Pleiades をダウンロードしましょう。
ダウンロードしてきた Pleiades を解凍し、中に入っている features と plugins のフォルダを、ADT の eclipse フォルダの中に移動します。この時、すでに features と plugins フォルダが作成されているため、フォルダを統合するかどうか聞かれるダイアログが出ますが、気にせず統合しちゃいましょう。
その後、eclipse.ini というファイルを編集します。先ほど解凍した Pleiades の中に入っている readme_pleiades.txt の中に説明がありますが、必要なのは eclipse.ini の末尾に
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar=default.splash
と付け加えるだけです。細部は、ダウンロードした Pleiades のバージョンにより違うかもしれませんので、必ず readme を確認し、自分のバージョンによって正しいものを使用してください。
default.splash というオプションを使用していますが、これは ADT Eclipse に付属しているデフォルトのスプラッシュを使用するという設定です。
Eclipse を立ち上げる時に使用するデフォルトのメモリ量を増やそう
Eclipse を起動する際に確保するメモリの量を増やすことで、パフォーマンスを改善することが出来ます。 この時に、設定を行うのが eclipse.ini です。Mac の場合このファイルは以下にあります。
- /Applications/ファイル名/eclipse にある eclipse.app を選択し、右クリック
「パッケージの内容を表示」を選択
Contents/MacOS/eclipse.ini
Windows の場合は以下にあります。
- ~ADT を展開したフォルダ~/eclipse/eclipse.ini
このファイルを適当なテキストエディタで開きます。ここには色々な設定がずらっと並んでいると思います。
その中で今回設定を加えるのは
- -Xms : 起動時に確保するメモリ量
- -Xmx : Eclipse が使用する最大のメモリ量
の2つになります。これらの値が小さいと、GC が頻発してしまい、パフォーマンスが低下してしまいます。
Eclipse のデフォルトの設定では、これらの値は小さめに設定されているので、それなりに大きな数値に変えましょう。この時に設定する値があまりにも大きいと、Eclipse を起動することができなくなるので注意が必要です。
- -Xms512m
- -Xmx1024m
もあれば十分なのではないでしょうか。
もしこのファイルを編集している時、すでに Eclipse が起動していた場合は一度再起動を行なってください。そうすると、メモリの確保量が増えて、パフォーマンスが改善されているということを実感できると思います。
エディタに行番号を表示しよう
Eclipse のエディタにはデフォルトで行番号が振られていません。そのため、~ 行目でエラーと言われても、すぐにはわからず困ってしまうことが多いと思います。
設定の方法は
- ADT > 環境設定 > General > Editors >TextEditors の中に有る”Show line numbers”にチェックを入れる。
これだけです。地味な変更に見えますが、有るのと無いのとでは大違いの設定です。
エラー内容からどの位置のコードが悪いのかすぐわかるようになるため、作業効率が上がります。簡単な設定なのでぜひやっておきましょう。
オートビルドの設定を外そう
Eclipse では、デフォルトでオートビルドが有効になっています。これはファイルを保存するたびにビルドを行なってくれる、とても便利な機能ではあるのですが、都度ビルドが走ってしまうためパフォーマンスを低下させることもあります。
そのためこの設定を外しましょう。それには、Eclipse メニューの、
- Project > Build Automatically
のチェックを外しましょう。
また、clean するときに自動でビルドまで行なってくれる機能もありますが、そちらも外しておきましょう。
設定を行うには、Eclipse メニューにある、
- Project > Clean > Start a build immediately
のチェックを外します。これにより、clean を行なった時、自動的にビルドが走らなくなります。
Mac でコードアシストが効かない問題を解決しよう
どの IDE で開発を行う場合でも、コード補完機能はかなり強力だと思います。これが有るのと無いのとでは、作業効率がかなり変わってくるでしょう。
Eclipse でも、もちろんコード補完を行うことが出来ます。しかし、Mac の場合デフォルトのコード補完のショートカットキーである Control + Space は、Spotlight の呼び出しと被ってしまいます。
このままでは作業効率は悪いままになってしまうので、この問題は最優先で解決したほうがいいでしょう。それには Spotlight 呼び出し側のショートカットキーを無効にする、もしくは Eclipe のキー設定を編集するの 2 通りの方法があります。
Spotlight の設定を変更する場合
この設定を行う際、Eclipse 側ですることはありません。
Spotlight の設定を行うには、まず Mac のシステム環境設定を開きます。そこで、Spotlight パネルを開き、「Spotlight メニューのキーボードショートカット」のチェックを外します。
Eclipse のキー設定を編集する場合
Eclipse で登録しているショートカットキーの設定を編集することが出来ます。
ショートカットキーを編集するには、まず以下にある画面を開きます。
- ADT > 環境設定 > General > Keys
この画面上部に検索用のテキストフィールドがあるのでそこに 「Content Assist」と入力しましょう。すると、検索結果に表示されますのでそれを選択します。 後は、Binding と書かれた部分に自分の好きなショートカットキーを割り振るだけです。 Command + Space なんかがわかりやすくていいのではないでしょうか。
2通りの方法を挙げましたが、どちらかと言うと Spotlight の設定を変更する方をお勧めします。というのも、Mac ではデフォルトで、かなりの量のショートカットキーが設定されています。そのため、 Eclipse の設定を変更しても、また別のショートカットキーにぶつかってしまう可能性があるためです。
Java の Prefix を設定しよう
Java の Prefix を設定することで、Eclipse にある 「Generate Getters and Setters」などの機能を使用するのが格段に便利になります。
Android には、クラスのメンバには m を static なメンバには s をつけるというコード規約があります。その規約に従うために変数を m もしくは s 付きで宣言したとします。この時 Eclipse の 「Generate Getters and Setters」を使用すると、それにより生成される Setter や Getter にも m や s が付いてしまいます。
これを回避するための設定が、Prefix です。
Eclipse 側が、変数名の先頭が接頭辞であることを解釈した上で、setter 名や getter 名には接頭辞を含めず生成してくれるようになります。
「ADT > 環境設定 > Java > Code Style」にある「Conventions for variable names:」内の Prefix list の項目を編集します。
編集内容
- Fields = m
- Static Fields = s
Logの出力最大数を増やそう
Android の開発をしているとデバッグ等で LogCat をよく使用します。しかしこの LogCat の出力最大数が、デフォルトでは少なめに設定されています。そのため、大量のログが吐き出されると大切なメッセージが流れて消えてしまいます。
大切なメッセージが消えないようにするためにも、この最大容量を増やしておくといいと思います。
設定を行う場所は以下のとおりになります。
- ADT > 環境設定 > Android > LogCat > Maximum number of logcat messages to buffer
ここに、大きめの数値を入れておくと、その容量を超えるまでの間の log が保持されます。
また、直接は関係ないのですが、LogCat ではフィルタを使用することができるので、基本的にはそれで絞って使用しましょう。
formatter と importer を設定しよう
自動的にある程度コード規約に沿った形に整形してくれる formatter が Android 公式で配布されています。この formatter を使用すると、アプリやライブラリのコードを規約に沿った美しいものにすることができます。
まず、ここからファイル一式をダウンロードします。リンク先ページの [tgz] と書かれている部分をクリックすることでファイルをダウンロードすることが出来ます。
この formatter を ADT へ設定する方法は以下のようになります。
- 「ADT > 環境設定 > Java > Code Style > Formatter 」の import… から、先ほどダウンロードしたファイル群のうち、android-formatting.xml をインポート
- 適当な名前を付けてOK を押す
- 最後に Apply
また、同じファイル群の中に importer と呼ばれるものも配布されています。これを使用することで、開発中に使用する機能のいたる部分でActivity など Android 固有の クラス名を補完することができるようになります。これは、開発効率の向上に向けてぜひ設定しておくべき項目であると思います。
設定する方法は以下になります
- 「ADT > 環境設定 > Java > Code Style > Organize Imports」の import… から、先ほどダウンロードしたファイル群のうち、android.importorder をインポート
- Organize Imports の画面に、いくつかの package が追加されることを確認
- 最後に Apply
ちなみにこの画像は、importer を導入した後の画像になります。 これにより、例えば新しいクラスを作成するときの Superclass 部分で Activity の補完が効くようになっています。
文字コードを設定しよう
文字コードを設定しておくと、文字化けの回避につながります。しかし、注意すべき点が一つあり、それがチーム開発を行う場合です。チーム内で文字コードがバラバラになっていると、結局のところ文字化けを起こしてしまいます。そのために、プロジェクト毎に文字コードの設定を行うことも出来ます。
基本的に、Windows でみても Mac で見ても文字化けしない様にするには、UTF-8 に設定しておくのが良いでしょう。
設定する方法を2通り挙げておきます。
全体で設定する
- 「ADT > 環境設定 > General > Workspace 」にある Text file encoding を開く
- Other にチェックをいれ、セレクタの中から UTF-8 を選択
プロジェクト毎に設定する
- 設定するプロジェクト上で右クリック
- 右クリックメニューの中の Properties を開く
- Resource の中の Text file encoding を開く
- Other にチェックをいれ、セレクタの中から UTF-8 を選択
セミコロンを文末に書き込むように設定しよう
コーディングをしていると、コードを途中まで書いてから少し戻ることがあると思います。その状況は様々で、例えばスペルが間違っていて編集するときや、メソッドの引数を編集している時などがあります。その時に文末にセミコロンを打つ際いちいちカーソルを持っていくのが面倒に感じてしまう時があると思います。
Eclipse には、文章のどこでセミコロンを打っても文末へ挿入してくれるという設定を行うことが出来ます。些細な事ですが、少しは作業効率も上がるのではないでしょうか。
具体的には以下の設定を行うだけです。
- ADT > 環境設定 > Java > Editor > Typing を開く
- Automatically insert at correct position の Semicolons にチェックを入れる
たったこれだけの手間なのでやっておくことをお勧めします。しかも for 文の中身を書いている時にはこの機能は働きません。さすがEclipse と言ったところでしょうか。
終わりに
さて、今回の記事はいかがだったでしょうか。
ここで挙げた物は、実践的に使用されているものなので、とてもEclipse を使いやすくしてくれる設定ばかりだと思います。
次回の Part 2 では、Eclipse の便利な機能についてなどの、より踏み込んだ解説を行いたいと思います。
それではまた次回をお楽しみに!