先日、シンプルなアプリのEclipseからAndroid Studioへの移行についての手順をお伝えしましたが、今回は若干ハマって手間取ったBaseGameUtilsライブラリを使用したアプリを移行する際の手順について投稿します。
※BaseGameUtilsとは、Google Play Game Serviceの機能を使用するために必要なライブラリで、現状、弊社のアプリでは「魚かな」と「野菜かな」にて利用しています。
移行元のEclipse側での作業
こちらは前回お伝えしたシンプルなアプリの移行手順と変わらない為、割愛します。
移行先のAndroid Studio上での作業
- Android Studioを立ち上げて、初期画面で「Import project (Eclipse ADT, Gradle, etc.)」を選び、移行対象のフォルダを選択します。
(ここでは、「C:\android\Yasai」を選択しました。)
- シンプルなアプリの移行手順と同様に、「build.gradle」にbuildscriptを追加しdependenciesの中を修正するところまで進めます。
dependencies { compile 'com.google.android.gms:play-services:+' compile project(':BaseGameUtils') } buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.0.0' } }
シンプルなアプリの場合はこれでエラーがなくなったのですが、今回は「エラー :(5, 0) Project with path ‘BaseGameUtils’ could not be found in root project ‘Yasai’.」と表示されます。
- 上記エラーより「BaseGameUtils」のライブラリを見つけることが出来ないことがわかります。
と言うことで、まずは「BaseGameUtils」のライブラリを再取得することに。
こちらへアクセスして、右下の「Download Zip」ボタンを押して、「android-basic-samples-master.zip」をダウンロードします。
- 続いてダウンロードした「android-basic-samples-master.zip」内の「BasicSamples\libraries\BaseGameUtils」フォルダ一式をコピーします。
- 続いて今回移行中のアプリの直下に「libraries」フォルダを作成し、上記でコピーしたデータをペストします。
(今回の例では、「C:\android\Yasai」配下に「libraries」フォルダを作成し、その中に「BaseGameUtils」を配置)
- 更に移行中のアプリの直下に「settings.gradle」と言う名前のファイルを新規に配置してファイルの中には、
include ':Yasai', ':libraries:BaseGameUtils'
と指定します。
- 最後に「build.gradle」のdependencies内を下記の通り修正します。
dependencies { compile 'com.google.android.gms:play-services:+' compile project(':libraries:BaseGameUtils') }
- 上記対応まで追えて画面右上に表示されている「Try Again」を押下すると、「BUILD SUCCESSFUL」となりました。
- 後は先日お伝えした方法で、Android Studio上でビルドされたアプリをエミュレータ上で開くことができました。
まとめ
今回はBaseGameUtilsでしたが、別の外部ライブラリを使用する場合も同様の手順で取り込むことが出来ると思われます。
ポイントをまとめると、下記3点です。
- 対象プロジェクトの直下に「libraries」フォルダを作成し、その中に必要なライブラリ一式を配置する
- 対象プロジェクトの直下に「settings.gradle」を作成し、対象のプロジェクトと配置したライブラリをincludeする旨を宣言する
- 「build.gradle」のdependencies内で「compile project(‘:libraries:XXX’)」と宣言する
※XXXはライブラリ名
以上、ご参考まで