LoginSignup
51
49

More than 5 years have passed since last update.

Gradleことはじめ

Last updated at Posted at 2013-12-01

自己紹介

はじめまして @wasabeefと申します。

私は、都内で働くエンジニアです。
何エンジニアかと言われると、いつも言葉を濁していますが
Android, Front-end (JS), infra を中心に色々な技術に手をだしてみたりしてます。

これまで、Advent Calendarを見てるだけだったので
今年は、その一端に参加してみようと思い、本記事を投稿したいと思います。

今日のお題について

今年のGoogle I/Oで、「Android Studio」という開発環境が発表されました。
それまで皆さんの開発環境は、Eclipseだったり、IntelliJを使用されていたかと思います。

私自身、IntelliJ + Mavenを使用して開発していました。

まだまだ、私の周りを含めて、Eclipseで開発を行っている方が多いので
Android Studio + Gradleを使用して、その便利さの一部でも伝えれたらと思い
今回は、「 Gradleことはじめ 」ということで書いていきたいと思います。

Android Studioとは?

 Android Studioとは「InteliJ IDEA」をベースにAndroid向けに最適化された統合開発環境です。

参考:Eclipse ADTに代わるIDEとなるか? Android Studioの基礎知識

Gradleとは?

そもそもAndroid Studioは、よく聞くけどGradleってなに?って思いますよね。

Eclipseで開発していると、標準のビルドシステムでは、antが使われています。
でも、周り見ると素晴らしいものが沢山あるのに、まだantを使い続けますか?

Androidの開発に置いて、support-packageを始めapache-commons、
android-pulltorefreshやActionbar-sherlockなど有名で素晴らしいLibraryが沢山ありますよね
そしてそれを使う場面が多く発生すると思います。

でもantだと、それらを自分でダウンロードしてきて、gitにpushすることになるでしょう
そのLibraryにBug fixがあったら、再度ダウンロードしに行くなんて、私は面倒くさくて出来ません。

そこで、登場してくるのがビルドシステムです。
ただビルドシステムといっても、多種多様なものが存在していて何使えばいいか分かりません。
Google I/Oで、Googleが「Gradleを使うのが良いと思うよ」という案を提示してくれました。

antは柔軟で便利なのは良いのですが、自由度が高く、XMLで書かなければいけないため、慣れるまでが大変です。
Libraryの依存関係を解決する仕組みがないため、みんなの環境を合わせるのに一苦労します。

mavenは依存関係を解決する仕組みがあり、javaエンジニアなら使える人が多いかと思いますが
とは言っても、XMLで書かなければいけないため、使いこなすまでには多くを学ぶことが必要です。

そこで、登場したのがGradleです。Gradleは設定をGroovyと呼ばれるスクリプト言語で書きます。
Groovyで書かれた設定ファイルは、とても可読性が高く、Javaでも書くことが可能なため
すぐにでも初められる環境が整っています。

それでもまだAndroid Studio + Gradleを使わないんですか?
Android Studioのバージョン0.xだから使えないと言うんだったら、IntelliJを使ってみましたか?

さあ、さっそくAndroid StudioでGradleを始めよう

Android Studioをインストールすることは必要ですが、Gradleをインストールする必要はありません。
Gradleを使う上で、Gradle Wrapperという仕組みがあるため、Gradle自身も自動でダウンロードさせることができます。
まず、Android Studioでプロジェクト作成してみましょう。

プロジェクト配下に build.gradle というファイルが生成されたかと思います。
Android Studioのバージョンによって数値が若干違うかと思いますが
大枠の構成は以下の通りになります。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 16
    }
}

これだけでも、antやmavenに比べると見通しが良いものと感じて頂けると嬉しいです。
gradleは、Maven Centralを利用できるため、依存関係の解決も楽にできます。

buildscript { } は、ビルドを走らせるコードを設定します。既にMaven Centralが設定されています。
android { } は、AndroidをBuildするために必要なものを設定してきます。

今回は、Gradleを始めるに至って、参考になるものを紹介して行きたいと思います。
まだ、日本語の書籍がないため、英語の書籍しかありませんが
オライリーからGradle Booksが販売されています。

また、日本語で読みたい方は、有志が翻訳して下さってるので、是非参考にさせていただきましょう。
Gradle 日本語ドキュメントが公開されているので、参考にして下さい

51
49
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
49