ViewPagerIndicatorのサンプルを動かそうとして動かず。
JakeWharton/Android-ViewPagerIndicator
なんか似たようなこといつもやってる気がしてきたので、「マルチプロジェクト」についてのAndroidStudioの設定とか構成を確認して整理メモす。
参考は、汎用性のある以下公式ドキュメント。
Project Structure - Gradle Plugin User Guide
登場モジュール
メインモジュール: app
ライブラリモジュール: lib1/lib2
※ 「プロジェクト」を「モジュール」と呼ぶ。
Eclipse型ディレクトリ構成で考える
AndroidStudioで利用するときの。*印はAndroidStudio向き設定ファイル。
MyProject + local.properties * + settings.gradle * + build.gradle * + app/ + build.gradle * + AndroidManifest.xml + libs/ + src/ + res/ + assets/ + libraries/ + lib1/ + build.gradle * + AndroidManifest.xml + libs/ + src/ + res/ + assets/ + lib2/ + build.gradle + AndroidManifest.xml + libs/ + src/ + res/ + assets/
MyProject/local.properties
SDK位置の指定。以下、Mac版AndroidStudioの場合。
sdk.dir=/Applications/Android Studio.app/sdk
MyProject/settings.gradle
そのプロジェクトに含まれるモジュールを記述。
include ':app', ':libraries:lib1', ':libraries:lib2'
MyProject/build.gradle
空ファイル。
親子入れ子にすることもできるようだが、ややこしいような気がする。
MyProject/app/build.gradle
Eclipseのディレクトリ構成を指定する。
ライブラリモジュールlib1/lib2への依存を記述。
... apply plugin: 'android' dependencies { ... compile project(':libraries:lib1') compile project(':libraries:lib2') } android { ... sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } ...
MyProject/app/libralies/lib1/build.gradle
上記同様にEclipseのディレクトリ構成を指定する。
ライブラリモジュールであることを記述。
... apply plugin: 'android-library' ... android { ... sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } ...
で、ViewPagerIndicatorを
以上をふまえたプロジェクトディレクトリに対して、AndroidStudio上から「インポート」からで動く。
しかし、ページャのインジケータだけでもいろいろありすぎだな、これ。。
ちなみに、AndroidStudioデフォルトのディレクトリ構成
これ、デフォルト記述を明示させたほうが分かりやすくね?
MyProject + local.properties + settings.gradle + build.gradle + app/ + build.gradle + libs/ + src/ + main/ + java/ + res/ + assets/ + AndroidManifest.xml + libraries/ + lib1/ + build.gradle + libs/ + src/ + main/ + java/ + res/ + assets/ + AndroidManifest.xml ...
一度、整理してみるとドキュメントも簡単に見えながらの、毎度の「ドキュメントきちんと読め」。
Gradle Plugin User Guide - Android Tools Project Site
関連ワード: Android・AndroidStudio・アプリ・ライブラリ・便利な設定・初心者・開発・androidstudio・eclipse・github・multi project・viewpagerindicator