1 現状
svn+eclipseで,こんな構成で管理していたとします。
branch_MyLibs
+AndroidLibA
+JavaLibB
branch_MyApp1
+AndroidApp1(AndroidLibA/JavLibBを参照)
branch_MyApp2
+AndroidApp2(AndroidLibA/JavLibBを参照)
eclipseであれば、workspaceを作成してそれぞれをimportしていけばいいですが、AndroidStudioでimport Moduleをすると、ライブラリプロジェクトそのものがコピーされてきてしまいます。
コピーされてきてしまうと、AndroidApp1のJavaLibBのソースコードを変更しても、当然ながら、AndroidApp2のJavaLibBは変わりません。
これでは意味が無いので、なんとかただ「参照」する方法がないか、探しました。
結果、出来たのでその方法を。
2 前提
AndroidStudio 1.3を使用。
それぞれのプロジェクトはAndroidStudio化しているものとする。
以下サンプル。
branch_MyLibs_AndroidStudio
+AndroidLibA
+JavaLibB
branch_MyApp1_AndroidStudio
+AndroidApp1
簡単な方法としては、いったんAndroidApp1をimportしてAndroidSudioプロジェクトに変更させて、出来たライブラリプロジェクトなどを、上記プロジェクト構成になるよう移動させることかな。
移動させた後はいったんビルドが通らなくなるがそのままでOK.(移動前はビルド通ることを確認してね)
3 手順
(1) settings.gradleを書き換える
include ':AndroidLibA'
include ':JavaLibB'
project(':AndroidLibA').projectDir = new File('../branch_MyLibs_AndroidStudio/AndroidLibA')
project(':JavaLibB').projectDir =new File('../branch_MyLibs_AndroidStudio/JavaLibB')
相対パスは実際のパスに合わせて下さい。
(2) build.gradleのdependenciesを書き換える
dependencies {
compile project(':AndroidLibA')
compile project(':JavaLibB')
}
以上でOK。