ダウンロード サンプルファイル (145.5 KB)
Android Gradle Pluginの改善
Android Studioに合わせて、Android Gradle Pluginもバージョン4.0.0になりました。大きな変更もありますので、確認しておきましょう。
Java 8の標準ライブラリをサポート
これまでも、ラムダ式やメソッド参照と言ったJava 8の文法は、minSdkVersionに関係なく使えていましたが、「java.util.stream」などの標準ライブラリはminSdkVersion 24以降でしか利用できませんでした。今回の更新で、専用のライブラリを通じて、Java 8以降の標準ライブラリのAPIが利用できるようになりました。これに関しては、公式ドキュメントの該当ページで言及されています。
この環境を有効にするには、build.gradleにリスト3の記述を追加します。
android {
defaultConfig {
// minSdkVersionが20以下の場合に必要
multiDexEnabled true
}
compileOptions {
// 新しい標準APIのサポートを有効にするためのフラグ
coreLibraryDesugaringEnabled true
// Java 8言語を使えるようにするための設定
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
// Android向けの標準ライブラリ
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.5'
}
これらの設定をすることにより、Javaコード上で次のAPIが利用できるようになります。
- Stream API(「java.util.stream」)
- 「java.time」のサブセット
- 「java.util.function」
- 「java.util.{Map,Collection,Comparator}」に最近追加されたメソッド
- Optional(「java.util.Optional」、「java.util.OptionalInt」、「java.util.OptionalDouble」)と、関連する便利なクラス群
- 「java.util.concurrent.atomic」への機能追加(「AtomicInteger」、「AtomicLong」、「AtomicReference」へのメソッド追加)
- 「ConcurrentHashMap」
従来、Stream APIの代替ライブラリであるLightweight-Stream-APIや、「java.time」の代替ライブラリであるThreeTenABPを利用していた開発者にとっては、待望の正式なAPIとなります。
ビルド機能のフラグのAPIが変更された
ViewBindingやDataBindingを利用する際には、build.gradleでフラグを有効にする必要があります。従来は 「android」ブロックの直下に「viewBinding.enabled」や「dataBinding.enabled」というフラグを設定していましたが、今回のリリースでフラグの階層が整理されました(リスト4)。
android {
// これらのフラグ指定方法は非推奨になった
// viewBinding {
// enabled = true
// }
// dataBinding {
// enabled = true
// }
// 新しい指定方法
buildFeatures {
// ViewBinding機能を有効にするかどうか
viewBinding = false
// DataBinding機能を有効にするかどうか
dataBinding = false
...
}
}
従来の方法は非推奨になったので、注意しましょう。
Kotlin DSLがビルトインサポートになった
build.gradleはGroovy言語のDSL(ドメイン固有言語)として書かれていましたが、Gradle 5.0からはKotlinでもGradleのスクリプトが書けるようになりました。以前からAndroid向けのサポートも試験的に導入されていましたが、今回から正式サポートとなりました。Kotlin DSLを利用する場合は、「build.gradle.kts」にGradleスクリプトを記述することになります。
従来のGroovyでのスクリプトも非推奨になったわけではありませんし、Kotlin DSL版も2021年いっぱいまでを目処に使い勝手の改善・整理を行っていくらしいので、急いで導入する必要はありません。
まとめ
Android Studio 4.0の新機能を紹介しました。モーションエディタや新しいレイアウトインスペクタの追加によって、デザイナー職の方々がUIを微調整しやすくなることが期待できます。また、Javaの標準APIがサポートされたことは、Java言語でアプリを書き続けるプログラマーたちにとって、大きな力となるでしょう。
4.0はメジャーバージョンアップの名に恥じない、強力なアップデートになりました。皆さんの現場でも、是非導入してみてください。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- この記事の著者
-
WINGSプロジェクト 中川 幸哉(ナカガワ ユキヤ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
