- Androidアプリ開発での共通化まとめ
- git submoduleを使って共通ライブラリ化してみた
開発環境
- 開発環境は下記な感じ。
- AndroidStudio
- Gradle
- Git
プロジェクトの構成
- プロジェクトの構成は下記な感じ
- Common-lib
- 共通ライブラリのプロジェクト
- App1、App2・・・
- アプリのプロジェクト
- Common-lib
App1/ ├── Common-lib │ ├── build.gradle │ ├── common-lib │ ├── gradle │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── app1 │ ├── build │ ├── build.gradle │ ├── libs │ ├── proguard-rules.txt │ ├── app1.iml │ └── src ├── App1.iml ├── build.gradle └── settings.gradle
- アプリプロジェクトを作って、git initして、submodule addする
$ cd App1 $ git init $ git submodule add <repogitory_url> Common-lib
- App1のsettings.gradleを下記な感じに
- 「:Common-lib:common-lib」のようにディレクトリ構造を書くのがポイントっぽい
include ':app1' include ':Common-lib:common-lib'
- App1/app1のbuild.gradleを下記な感じに
- setting.gradleと同じく「:Common-lib:common-lib」のようにディレクトリ構造を書くのがポイントっぽい
apply plugin: 'android'
android {
・・・
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':Common-lib:common-lib')
compile 'com.android.support:appcompat-v7:19.1.0'
compile 'com.android.support:gridlayout-v7:19.1.0'
compile 'com.android.support:support-v4:19.1.0'
}
- App1/Common-libのsettings.gradleは下記な感じ
include ':common-lib'
- App1/Common-lib/common-libのbuild.gradleは下記な感じ
apply plugin: 'android-library'
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
minSdkVersion 11
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:19.+'
}