fkm blog

software開発に関することを書いていきます

Library projectを含むアプリをGradleでビルドしてみる

このあたりを日本語訳しただけのエントリーになりますが。。。

GCMを使う場合, 最近はGooglePlayServiceを使うことになってますが, こいつはリソースを含むのでLibrary projectになっている.

なので, gradleでビルドする際もLibrary project込みになる.

フォルダ構成

.gitも含めて, こんな風にする.

  • .git
  • settings.gradle
  • app
  • libraries
    • google-play-services_lib
      • SDKからそのまま持ってくる
      • build.gradle

settings.gradle

ドキュメントに書いてある通りにする

include ':app', ':libraries:google-play-services_lib'

library側のbuild.gradle

apply plugin: 'android'

apply plugin: 'android-library'
にする

app側のbuild.gradle

dependenciesはこう書く

dependencies {
    compile files("libs/android-support-v4.jar")
    compile project(':libraries:google-play-services_lib')
}

で, ビルドしてみる

app側で./gradlew

jarのcopyで失敗する

android-support-v4.jarがぶつかるケースが多々ありそう.

library側で使っているなら, app側のdependenciesには書かない.

こんな感じかな。。。?