2015年4月11日土曜日

Android Plugin for Gradle

Android Plugin for Gradle

「Android Plugin for Gradle」と「Build System」とは、別名ではあるものの同じものを指しているのですね。何も知らない者から見ると、別名で表現されると、ややこしいですね。

Android Plugin for Gradle Release Notes...このページに有る、「Android Plugin for Gradle, Revision *.*.* (* *)」を見て、最新のRevisionを確認します。

Android StudioのメニューでFile>Project Structure...を選択します。
Project Structure画面の「Project」をクリックします。
右側に「Android Plugin Version」欄があるので、そこに、上記Revisionを書き込みます。
このやり方では無く、ルートに存在するbuild.gradleファイル内に次のように書いても良いです。
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.3'
    }
}
むむむ!ここでは「tools」って用語を使ってますな。普通は術語を統一するんじゃないのか。

上記はAndroid Studioにおいて、Gradleを使いこなす道具の設定ですね。
次に、Gradleのバージョンの設定も行います。

Gradleのサイトに最新のがあるようです。詳細を観ようとすると、セキュリティの
関係で閲覧できないという趣旨の画面が出ます。残念ですね。
Android Studioにおいては、次のメッセージが出てアプリの作成が拒否られます。
Error:No subject alternative DNS name matching services.gradle.org found.

止むを得ないので、最新のバージョンであるgradle-2.3-all.zipをダウンロードして任意のフォルダーに展開します。
File->Settings...で「Settings...」画面を表示させます。
「Gradle」の「Use default Gradle wrapper(recommended)」では無く、「Use local gradle distribution」にチェックをしまして、先ほど展開したフォルダーを設定します。
また、File>Project Structure...>Project Structure画面>「Project」>Gradle version欄を「2.3」にする。
recommendedされている方式は、ネットに情報を取りに行くようですね。

2015年4月13日現在、2.3にすると、gradleファイル内の項目に下線が引かれてしまう等の異常が発生します。2.2.1にすると問題はありません。

ちなみに私は下記の趣旨のエラー群で苦しんでいました。
Error Gradle DSL method not found compileOptions()
The project may be using a version of Gradle that does not contain the method.
Open Gradle wrapper file The build file may be missing a Gradle plugin.
Apply Gradle plugin
dependencies cannot be applied to groovy lang Closure

Googleにおける解説記事よりも、stackoverflowの記事の分量の方が多いような気がするのは、果たして私だけだろうか。
Gradleの道は険しいですね。みなさん、がんばってください。

(参考)
Android Tools Project Site
Gradle Plugin User Guide
Gradle Distributions
Error:(1, 0) Plugin with id 'com.android.application' not found
buildTypes cannot be applied to groovy.lang.Closure
Getting error “Gradle version 1.10 is required. Current version is 1.12.” when executing “gradle wrapper”?
Gradle sync error in Android studio when importing project

0 件のコメント:

コメントを投稿