EclipseからAndroid Studioへ移行しました
先週末、あるAndroidのプロジェクトをEclipseベースから、Android Studioに移行しました。
新規のプロジェクトや、小さめのプロジェクトはAndroid Studio化は完了していたのですが、一番大きいプロジェクトは社外の開発者の方の慣れもあって、踏み切れていなかったのですが、急遽やる必要があって、慌ててやった感じです。
Android Studioに移行するにあたって、一番大きいのはGradleベースでビルド、リリースをできるようにすることでした。
Gradleでのライブラリの取り込みにでは次の3つを使い分けました。
- リポジトリに登録されているライブラリの参照
- jarファイルで公開されているライブラリの参照 リポジトリに登録されていない、社内のライブラリなど
- ライブラリプロジェクトの参照 ライブラリのソースを編集するようなケース
dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile ‘com.android.support:support-v4:22.+’ // 1の例 compile ‘com.google.code.gson:gson:2.2.4’ compile files(‘libs/StaggLib.jar’) // 2の例 compile project(‘:subproject’) // 3の例 }
1,2は特に問題がないと思いますが、3について、やり方を忘れるので、メモ。
「File -> New -> Import Project」を選択
settings.gradleに参照が追加されるGUIでの操作では対象のプロジェクトは、元プロジェクトにコピーして、インポートされるので注意が必要。必要に応じて、コピーされたファイル群を削除して、File('')のパスをオリジナルのプロジェクトを参照するように修正する。
後は、Jarファイルを直接参照していたいのを、リポジトリから取得するように変更して、コンパイルが通るまで、ライブラリの重複なんかを取り除いていく。
その他、移行中に発生したエラーはこんな感じ。
':app:dexDebug'. https://t.co/8iOBndcqdy.ide.common.process.ProcessException
— ryohei sogo (@rsogo) 2016年2月28日
のエラーは、これで解消した。https://t.co/2VtF1sO4PM
移行とは、直接関係ないけど、ハマったのがAndroid Studioがハングするという問題。
Macで開発していましたが、Applications以下のAndroid Studioを削除したり、別のフォルダに新規にインストールしましたが、解決せず。 結局、こちらの情報を元に、Applications以外の場所もキレイにして、再インストールで解決しました。Applicationsの下だけ消せば、綺麗にアンインストールできるというのが、Macの良いところだと思うんだけど、これだとWindowsと一緒だよー!
@rsogo これでアンインストールすると、Android Studioがハングアップするのは治った。https://t.co/8FaXQOeekE
— ryohei sogo (@rsogo) 2016年2月28日
その他参考にさせていただいた記事。
基本をおさえる!Androidアプリで指定するバージョンについて(compileSdk,buildToolsVersion,....) - Qiita
Android Studioでproguard付きでビルドした時の`Duplicate zip entry`エラーの調査と対応 - Qiita
Android Studio で Build Variants - Qiita
移行そのものではないけど、Gradle化に合わせて、環境差異や、リリース版/テスト版の違いをBuild Typeなんかで切り分けるのも入れた。