KonifarPod

AndroidStudioでローカルの別プロジェクトをインポートする

   

Pocket

※ Android Studio v0.8.0時点での情報です。

EclipseのAndroidプロジェクトを AndroidStudioのgradleプロジェクトに載せ替えているのですが、もともとmavenも何も使っていなかったためライブラリをローカルに落としてインポートしまくっており、全ての依存関係を一気にgradleで綺麗にすることができない状態でした。

そのためローカルのプロジェクトをインポートするようにしたのですが、例によってハマってしまって大変だったのでメモを残しておこうと思います。

 

(1)インポートしたいライブラリをgradleビルドに対応

まず、インポートしたいライブラリをgradleビルドに対応させる必要があります。Eclipseのエクスポート機能を使います。

File > Export > Generate Gradle build file を選択します。

Import1

 

エクスポートしたいプロジェクトを選択して、Next。(例として PullToRefresh)

Import2

 

完了を押せば準備OK。

Import3

 

プロジェクトルートに、build.gradleファイルが作成されています。これで準備はOKです。

Import4

 

(2)プロジェクトにlibrariesフォルダを作る

ライブラリをインポートしたいプロジェクト直下に、librariesフォルダを作って、インポートするライブラリを中に配置します。

app/librariesという構成でもよいのですが、調べるとプロジェクト直下にしてる人が多かったので従うことにしました。

こんな感じの構成になります。

Import4

 

(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の対応でしぶってる方は、この方法でとりあえず載せ替えてみるといいかもしれません。

Pocket

 - 未分類 ,