ついにEclipse+ADTが終了。というわけでAndroid Studioに移行してみた。

一昔前まではAndroidアプリ開発といえば、Eclipse + ADTでやるものだったのですが、近年ではAndroid Studioというのが出てライブラリのインストールなども簡単にできるようになりました。

そして、6/26にはADTのサポートを年末に終了という話が出てきたので、これまで開発してきたEclipse+ADTのコードをAndroid Studioに移行する必要が出てきました。

参考) http://www.itmedia.co.jp/mobile/articles/1506/29/news047.html

小規模なプロジェクトでしたが、実際にやってみたところ特につまる所はありませんでしたので、参考にしていただければと思います。

Android Studioのインストール

私はもういくつかのPJはAndroid Studioで進めているので、Android Studioのインストールはされています。

まだの方はこちらからどうぞ。

Eclipse から Android Studioへの移行

公式のページはこちらです。

英語で書かれていますが、EclipseとAndroid Studioの違いをかいつまんで超訳します。

  • プロジェクト構成
  • マニフェストの設定
  • 依存関係
  • テストコード
  • Gradleビルドシステム
  • UI
  • デベロッパーツールのバージョン

これらが異なっているのでそのままでは使えないということですね。

移行作業の手順を見ていきましょう。

EclipseのADTから

1. プロジェクトのルートにAndroidManifest.xmlが含まれていることを確認します。消していない限りあるはずです。

2. .classpathや.projectファイル、res/、src/ディレクトリがあることも確認します。

3. プロジェクトをビルドしておきます。

4. ライブラリの依存関係をコメントアウトします。

project.propertiesはライブラリを参照している行の先頭に#をつけてコメントアウトしていきます。

Android Studioでは

1. Eclipseのプロジェクトは移行出来てもプラグインは移行できません。そのため、Eclipseで使っていたプラグインによく似たAndroid Studioのプラグインをここから探してメモしておきましょう。

Android Studioでプラグインを追加するときには file > settings > pluginsを選べばOKです。

2. ファイアウォールの裏でAndroid studioを実行する場合には、Android StudioとSDK Managerのプロキシの設定が必要です。詳細はこちら

3. Android Studioを最新版にします。 file > settings > system settings [check for updates]を選びます。

いよいよAndroid Studioにインポート!

1. Android Studioを起動して、開いている全てのAndroid Studioプロジェクトを閉じます。

2. Android Studioのウェルカム画面からImport project (Eclipse ADT, Gradle, etc.)を選びます。

3. 移行対象のEclipse ADTのプロジェクトフォルダを選びます。(AndroidManifest.xmlがあることを再確認)

4. コピー先のフォルダを指定します。

元と同じフォルダにすると上書きされるので変えておく方がよいでしょう。

フォルダがなければ作成するか尋ねられるのでOKを選びます。

5. インポートオプションを選んでOKをクリック。

そのままで良いでしょう。

6. インポートサマリーが表示されます。

確認しておきましょう。

Ignored Files:という行があれば、移行が無視されたファイルたちが書かれています。

私の場合は.gitignore等の隠しファイルが無視されていました。

プロジェクトをビルド

インポートができたら、プロジェクトをビルドして、エラーが出たら解消しましょう。

私の場合はAppCompatとGoogle Play Servicesの依存関係を切っていたのでその辺りにエラーがありました。

依存関係のエラーはbuild.gradle (Module:app)のdependenciesに記述を足せば直ります。

compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.google.android.gms:play-services:7.5.0'

読まれるタイミングによっては古くなっている可能性がありますので、バージョンは適宜変更してください。

Git関連

gitでファイルを管理されていた場合は、インポート先には.gitディレクトリがありません。

また、Android Studioに変えたことで.gitignoreも変える必要があります。私はいつもGitHubにあるこの.gitignoreにしています。

元のプロジェクトのディレクトリから.gitディレクトリを移動させて、プッシュさせると元のリモートリポジトリが使えます。
※ ディレクトリ構造も自動的に変更されます。