※ Android Studio v0.8.0時点での情報です。
EclipseのAndroidプロジェクトをAndroidStudioのgradleプロジェクトに載せ替えていたのですが、もともとmavenも何も使っていなかったためライブラリをローカルに落としてインポートしまくっており、全ての依存関係を一気にgradleで綺麗にすることができない状態でした。
そのためローカルのプロジェクトをインポートするようにしたのですが、例によってハマってしまって大変だったのでメモを残しておこうと思います。
#1.インポートしたいライブラリをgradleビルドに対応
まず、インポートしたいライブラリをgradleビルドに対応させる必要があります。Eclipseのエクスポート機能を使います。
File > Export > Generate Gradle build file
を選択します。
エクスポートしたいプロジェクトを選択して、Next。(例として PullToRefresh)
完了を押せば準備OK。
プロジェクトルートに、build.gradleファイルが作成されています。これで準備はOKです。
#2.プロジェクトにlibrariesフォルダを作る
ライブラリをインポートしたいプロジェクト直下に、librariesフォルダを作って、インポートするライブラリを中に配置します。
app/librariesという構成でもよいのですが、調べるとプロジェクト直下にしてる人が多かったので従うことにしました。
こんな感じの構成になります。
#3.settings.gradleファイルに、includeを記述する
配置したライブラリを使うよ、という設定をsettings.gradleファイルに書きます。
include ':app', 'libraries:pulltorefresh'
これを書いておかないと、gradle syncした時にこんなエラーが出てハマることになります。
Error:(28, 0) Project with path ':libraries:pulltorefresh' could not be found in project ':app'.
#4.build.gradleファイルに、dependenciesを記述する
app/build.gradleファイルのdependenciesに、ライブラリの依存関係を記述します。うまく行けば、これで読み込まれるはずです。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':libraries:pulltorefresh')
}
まとめてみるとこれだけのことなんですが、色んなバージョンの色んな情報が出回っていてハマりました。AndroidStudioにしたいけどgradleの対応でしぶってる方は、この方法でとりあえず載せ替えてみるといいかもしれません。