ページ

2015年12月3日木曜日

Gradleをちゃんと使ってみる 2

今回は以前Eclipseで作成したAndroidの自作ライブラリを
gradleでビルドできるようにしたいと思います。

   Android用のテンプレートbuild.gradleを作成


Androidの公式ガイドページに必要最低限の Androidアプリをビルドする
build.gradleが乗っていたのでそいつを使います。
buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.1'
    }
}

apply plugin: 'android-library' # [1]

android {
    compileSdkVersion 23
    buildToolsVersion "23.1.0" #[2]
}
[1] com.android.applicationとなっていたものを今回ライブラリを作成するので
android-libraryに修正しています。
[2] に関しては自分の環境に合わせてください。
ここで、AndroidSDKの場所をどこかに設定しとかないといけません。
環境変数ANDROID_HOMEに設定するか、build.gradleと同じ階層にlocal.propertiesを作成し以下のように設定します
sdk.dir={AndroidSDKのパス}
この時点でgradle tasksを実行し成功すれば準備はOKです

   gradle wrapperの作成


gradleには別の使う人がgradleを別途インストールしなくても, 自動で特定のgradleのバージョンをインストールし、配布した人と同じgradleのバージョンでビルドできるgradle wrapperという機能があります。
以下のタスクを実施
$ gradle wrapper
すると
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
が追加されたと思います。配布された人はgradlew.bat(Windows用)。gradlew(その他OS用)
を実行する事でgradleコマンドと同じように使えます

   build.gradle作成例


プロジェクト毎に記述が異なると思いますが、↓の例はこちらで公開している
プロジェクトのbuild.gradleになります。
buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.1'
    }
}

apply plugin: 'android-library'

repositories {
    flatDir {
        dirs 'libs'
    }
}

dependencies {
    compile 'com.android.support:support-v4:XX.X.X'
}

android {
    compileSdkVersion XX
    buildToolsVersion "XX.X.X"
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['res']
        }
    }
}
特別な事はしてないですが、サポートライブラリの読み込みやAndroidManifest.xml
指定などを追加しています。
gradle clean build
├── build
│   ├── outputs
│   │   ├── aar
│   │   │   ├── Monaka-debug.aar
│   │   │   └── Monaka-release.aar
が作成されていれば成功です。

0 件のコメント:

コメントを投稿