Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Yu Nobuoka
7,503 views
Android アプリ開発における Gradle ビルドシステム
2014 年 8 月 23 日に開催された 「京都 Android 勉強会 2014.08」 での発表資料です。
Software
◦
Read more
12
Save
Share
Embed
Embed presentation
Download
Downloaded 13 times
1
/ 31
2
/ 31
3
/ 31
4
/ 31
5
/ 31
6
/ 31
7
/ 31
8
/ 31
9
/ 31
10
/ 31
11
/ 31
12
/ 31
13
/ 31
14
/ 31
15
/ 31
16
/ 31
17
/ 31
18
/ 31
19
/ 31
20
/ 31
21
/ 31
22
/ 31
23
/ 31
24
/ 31
25
/ 31
26
/ 31
27
/ 31
28
/ 31
29
/ 31
30
/ 31
31
/ 31
More Related Content
PDF
AndroidStudioはじめました ~Gradle編~
by
Yabata Tomomitsu
PDF
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
by
Yu Nobuoka
PPTX
Jenkins と groovy
by
Kohsuke Kawaguchi
PDF
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
by
Yu Nobuoka
PDF
Github codespaces すごく良い。もうこれで 十分なんじゃという話
by
xiidec
PDF
Write slides and books in VSCode + Markdown
by
ロフト くん
PDF
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
by
Makoto Yamazaki
PDF
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
by
Issei Hiraoka
AndroidStudioはじめました ~Gradle編~
by
Yabata Tomomitsu
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
by
Yu Nobuoka
Jenkins と groovy
by
Kohsuke Kawaguchi
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
by
Yu Nobuoka
Github codespaces すごく良い。もうこれで 十分なんじゃという話
by
xiidec
Write slides and books in VSCode + Markdown
by
ロフト くん
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
by
Makoto Yamazaki
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
by
Issei Hiraoka
What's hot
PDF
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
by
日本マイクロソフト株式会社
PDF
Gradleプラグインを作成してみた
by
shinya sakemoto
PDF
【BS2】.NET 6 最新アップデート
by
日本マイクロソフト株式会社
PDF
Javaユーザに贈るJenkins 25のTips
by
Masanori Satoh
PDF
高速!Clojure Web 開発入門
by
Kazuki Tsutsumi
PDF
ClojureでElectronアプリを作ろう
by
Kazuhiro Hara
PDF
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
by
日本マイクロソフト株式会社
PDF
Jenkinsを用いたAndroidアプリビルド作業効率化
by
Kenichi Kambara
PDF
.NET Core時代のCI/CD
by
Yuta Matsumura
PDF
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
by
Yuta Matsumura
PDF
お気に入り拡張機能
by
SatsukiYabu
PDF
Bicep + VS Code で楽々Azure Deploy
by
Takekazu Omi
PPTX
GitとCIとかチャットとかをオンプレで運用する話
by
mdome
PDF
Remote Development with Visual Studio Code & A clean dev env, working every ...
by
Hiroyuki Ohnaka
PDF
Android App Development with Gradle & Android Studio
by
Soichiro Kashima
PDF
The Twelve-Factor (A|M)pp with C#
by
Yuta Matsumura
PDF
今すぐブラウザでES6を使おう
by
Hayashi Yuichi
PDF
VS Code新機能紹介2020-2021
by
Yuki Ueda
PDF
ホームディレクトリに埋もれた便利なコードをさがせ!
by
Yohei Fushii
PDF
Ciじゃない方のJenkins
by
Katsuhiro Miura
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
by
日本マイクロソフト株式会社
Gradleプラグインを作成してみた
by
shinya sakemoto
【BS2】.NET 6 最新アップデート
by
日本マイクロソフト株式会社
Javaユーザに贈るJenkins 25のTips
by
Masanori Satoh
高速!Clojure Web 開発入門
by
Kazuki Tsutsumi
ClojureでElectronアプリを作ろう
by
Kazuhiro Hara
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
by
日本マイクロソフト株式会社
Jenkinsを用いたAndroidアプリビルド作業効率化
by
Kenichi Kambara
.NET Core時代のCI/CD
by
Yuta Matsumura
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
by
Yuta Matsumura
お気に入り拡張機能
by
SatsukiYabu
Bicep + VS Code で楽々Azure Deploy
by
Takekazu Omi
GitとCIとかチャットとかをオンプレで運用する話
by
mdome
Remote Development with Visual Studio Code & A clean dev env, working every ...
by
Hiroyuki Ohnaka
Android App Development with Gradle & Android Studio
by
Soichiro Kashima
The Twelve-Factor (A|M)pp with C#
by
Yuta Matsumura
今すぐブラウザでES6を使おう
by
Hayashi Yuichi
VS Code新機能紹介2020-2021
by
Yuki Ueda
ホームディレクトリに埋もれた便利なコードをさがせ!
by
Yohei Fushii
Ciじゃない方のJenkins
by
Katsuhiro Miura
Viewers also liked
PDF
Windows ストアアプリのつくりかた (JS + HTML + CSS)
by
Yu Nobuoka
PDF
Spring Bootで変わる Javaアプリ開発! #jsug
by
Toshiaki Maki
PDF
激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!
by
俊之 渡邊
PDF
GIF と LZW 圧縮と GifWriter.js
by
Yu Nobuoka
PPTX
CREATING BLOG PROFITS WITH SIMPLE METHODS
by
Feroz Khan
PDF
オープンソースカンファレンス2012大分資料
by
俊之 渡邊
PDF
LESS楽しいれす(^q^)
by
taiju higashi
PDF
Web Design Terms
by
Feroz Khan
PPTX
Social Media Marketing
by
Feroz Khan
PPTX
FACEBOOK FAN PAGE TIPS AND TRICKS – PART 1
by
Feroz Khan
PDF
OSC2015大分 Scratch資料
by
俊之 渡邊
PDF
Rhomania, Madness Presentation
by
Aditya Gujaran
PDF
Flower Fields Disease Control Chart
by
CherylAnn Crysler
PPTX
Inspirational Design Portfolio
by
Feroz Khan
PDF
WordBench大分第二回勉強会資料
by
俊之 渡邊
DOC
Giao an hoa hoc 11 nang cao tron bo
by
Hue Bui
PDF
おおいたIT人材塾プレゼン大会資料20141206
by
俊之 渡邊
Windows ストアアプリのつくりかた (JS + HTML + CSS)
by
Yu Nobuoka
Spring Bootで変わる Javaアプリ開発! #jsug
by
Toshiaki Maki
激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!
by
俊之 渡邊
GIF と LZW 圧縮と GifWriter.js
by
Yu Nobuoka
CREATING BLOG PROFITS WITH SIMPLE METHODS
by
Feroz Khan
オープンソースカンファレンス2012大分資料
by
俊之 渡邊
LESS楽しいれす(^q^)
by
taiju higashi
Web Design Terms
by
Feroz Khan
Social Media Marketing
by
Feroz Khan
FACEBOOK FAN PAGE TIPS AND TRICKS – PART 1
by
Feroz Khan
OSC2015大分 Scratch資料
by
俊之 渡邊
Rhomania, Madness Presentation
by
Aditya Gujaran
Flower Fields Disease Control Chart
by
CherylAnn Crysler
Inspirational Design Portfolio
by
Feroz Khan
WordBench大分第二回勉強会資料
by
俊之 渡邊
Giao an hoa hoc 11 nang cao tron bo
by
Hue Bui
おおいたIT人材塾プレゼン大会資料20141206
by
俊之 渡邊
Similar to Android アプリ開発における Gradle ビルドシステム
PDF
明日から使えるgradle
by
kimukou_26 Kimukou
PDF
Google I/O 2013 報告会 Android Studio と Gradle
by
Keishin Yokomaku
PDF
Gradleどうでしょう
by
Takuma Watabiki
PDF
Gradle布教活動
by
Nemoto Yusuke
PDF
兄弟アプリのロジック共通化とビルド高速化の実験
by
ichigotake .
PDF
爆速でAndroidアプリを ビルドするための仕組み DeNA TechCon #denatechcon
by
Yosaku Toyama
PDF
Groovy base gradle_20130309
by
Nobuhiro Sue
PDF
Gws 20120521 gradle
by
Nobuhiro Sue
PDF
Gradle handson
by
Nemoto Yusuke
PDF
Agileツール適合化分科会(構成管理・ビルドツール)
by
masanori kataoka
PPTX
GBDC 勉強会 #2 Android Studio 実践レポート
by
Yutaka Kato
PDF
Android Studioの魅力
by
Keiji Ariyama
PDF
Gws 20130315 gradle_handson
by
Nobuhiro Sue
PDF
Android studio で行ってみよう!!
by
Kazuaki Ueda
PDF
つ部 Android Studio 勉強会 12/7
by
Hikaru Wada
PDF
Spring in-summer-gradle-hands on-withanswers
by
Takuma Watabiki
PPT
Android Hacks - Hack40
by
Masanori Ohkawara
PDF
Eclipse ADTとAndroidStudio両方で動かせる開発環境構築
by
kimukou_26 Kimukou
PDF
Androidアプリ開発で活躍必至!? ビルドツールGradle
by
amayaw9
PDF
Gradle a new Generation Build Tool
by
Shinya Mochida
明日から使えるgradle
by
kimukou_26 Kimukou
Google I/O 2013 報告会 Android Studio と Gradle
by
Keishin Yokomaku
Gradleどうでしょう
by
Takuma Watabiki
Gradle布教活動
by
Nemoto Yusuke
兄弟アプリのロジック共通化とビルド高速化の実験
by
ichigotake .
爆速でAndroidアプリを ビルドするための仕組み DeNA TechCon #denatechcon
by
Yosaku Toyama
Groovy base gradle_20130309
by
Nobuhiro Sue
Gws 20120521 gradle
by
Nobuhiro Sue
Gradle handson
by
Nemoto Yusuke
Agileツール適合化分科会(構成管理・ビルドツール)
by
masanori kataoka
GBDC 勉強会 #2 Android Studio 実践レポート
by
Yutaka Kato
Android Studioの魅力
by
Keiji Ariyama
Gws 20130315 gradle_handson
by
Nobuhiro Sue
Android studio で行ってみよう!!
by
Kazuaki Ueda
つ部 Android Studio 勉強会 12/7
by
Hikaru Wada
Spring in-summer-gradle-hands on-withanswers
by
Takuma Watabiki
Android Hacks - Hack40
by
Masanori Ohkawara
Eclipse ADTとAndroidStudio両方で動かせる開発環境構築
by
kimukou_26 Kimukou
Androidアプリ開発で活躍必至!? ビルドツールGradle
by
amayaw9
Gradle a new Generation Build Tool
by
Shinya Mochida
More from Yu Nobuoka
PDF
Java による Web アプリケーションのプロトタイプのために最近使っている構成
by
Yu Nobuoka
PDF
GUI アプリケーションにおける MVC
by
Yu Nobuoka
PDF
TypeScript 言語処理系ことはじめ
by
Yu Nobuoka
PDF
WebSocket Protocol と Plack::Middleware::WebSocket
by
Yu Nobuoka
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
by
Yu Nobuoka
PDF
はてなにおける Android アプリのソフトウェアテスト
by
Yu Nobuoka
PDF
AndroidJUnitRunner で JUnit 4 形式のテストに移行
by
Yu Nobuoka
Java による Web アプリケーションのプロトタイプのために最近使っている構成
by
Yu Nobuoka
GUI アプリケーションにおける MVC
by
Yu Nobuoka
TypeScript 言語処理系ことはじめ
by
Yu Nobuoka
WebSocket Protocol と Plack::Middleware::WebSocket
by
Yu Nobuoka
はてなにおける継続的デプロイメントの現状と Docker の導入
by
Yu Nobuoka
はてなにおける Android アプリのソフトウェアテスト
by
Yu Nobuoka
AndroidJUnitRunner で JUnit 4 形式のテストに移行
by
Yu Nobuoka
Android アプリ開発における Gradle ビルドシステム
1.
id:nobuoka (@nobuoka) 株式会社はてな 2014-08-23 京都
Android 勉強会 2014.08 Android アプリ開発における Gradle ビルドシステム
2.
こんにちは、id:nobuoka です ● 普段の仕事:
web サービス開発 – サーバーサイド: Perl – クライアントサイド: Web (JS)、Android アプリ (Java) ● Java 好き ● 最近は Docker 周りを調べたりしてる
3.
概要 ● Gradle と
Android アプリ開発 ● Gradle や Android Gradle plugin の便利機能 ● AAR パッケージの公開 ● Gradle プラグインの作り方
4.
Gradle と Android アプリ開発 Gradle
での Android アプリのビルドをしたことがない人向け
5.
Gradle とは何か ● ビルドシステム –
Maven とか Ant とか sbt とか Rake みたいな ● ビルド設定は Groovy による DSL で記述 ● Maven (Ivy) による依存管理が組み込まれている ● Java 界隈で主に使われてる – Java に限ったビルドシステムではない – 最近は C/C++/Objective-C のサポートが向上
6.
Gradle ビルドスクリプトの例 // build.gradle apply
plugin: 'com.android.application' android { compileSdkVersion 19 buildToolsVersion "20.0.0" defaultConfig { applicationId "info.vividcode.android.app.seminar.kyotoandroid" minSdkVersion 10 targetSdkVersion 19 versionCode 1 versionName "1.0" } }
7.
Gradle の利点と欠点 ● Groovy
の処理を書ける → 自由度が高い ● プラグインも作りやすい! ● Maven リポジトリが使える ● Groovy に慣れるまで難しい – DSL として理解できても Groovy コードとして読めな い – API ドキュメントを見ても処理の流れがわかりづらい
8.
Android Studio で
Gradle 採用 ● 最近ベータ版がリリースされた ● 嫌でも Gradle のことを知る必要がある ● IDE 上でのビルドが Gradle に統合されている – IDE 上でもコマンドライン上でも同じ仕組みでビルド – CI がやりやすい
9.
Gradle による Android
アプリのビルド ● Android Gradle plugin というプラグインでサ ポート ● Android 用ライブラリ → AAR パッケージ – リソースファイル入り JAR みたいな感じ (便利!!) Android アプリプロジェクト or Android ライブラリプロジェクト Gradle + Android Gradle plugin ビルドしたりテストしたり Android Studio コマンドライン 使う 使う
10.
Gradle や Android
Gradle plugin の便利機能 Android アプリ開発時に知っておくとよいこと
11.
Gradle wrapper ● プロジェクト内に置ける
Gradle コマンド (?) ● 「gradlew」、「gradlew.bat」、 「gradle/wrapper」 ● Wrapper の使用が推奨されている – Gradle がインストールされていない環境でも簡単に Gradle タスクを実行できる – Gradle のバージョンを揃えられる http://www.gradle.org/docs/current/userguide/gradle_wrapper.html
12.
マルチプロジェクト ● 「settings.gradle」 にプロジェクト構成を記述 ●
複数のサブプロジェクトで構成 – 大きなアプリを複数のサブプロジェクトに分けるとか – Maven リポジトリのないライブラリ (例: Volley) の コードをサブプロジェクトにするなど http://www.gradle.org/docs/current/userguide/multi_project_builds.html
13.
Android SDK の
Maven リポジトリ ● Support library や Google Play Services の Maven リポジトリ dependencies { compile 'com.android.support:appcompat-v7:20.0.0' }
14.
Build Variants や
Manifest Placeholder ● デバッグ時だけ機能を変化させるとかできる ● Build Variants : Build Types と Product Flavors の組 – Build types : Release build, debug build, など – Product Flavors : 同じプロジェクトから複数アプリ ● AndroidManifest.xml 中の文字列を build.gradle 側で指定できる – http://ninjinkun.hatenablog.com/entry/2014 /08/18/102849 http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
15.
buildTypes { release {
buildConfigField "boolean", "XXX_DEBUG", "false" } debug { buildConfigField "boolean", "XXX_DEBUG", "true" } } BuildConfig のプロパティをビルド時に 決定 ● ビルドタイプに応じて実行時に動作を変化させる ● 使いすぎると混乱のもとだけど
16.
他の便利機能 ● ドキュメント: http://tools.android.com/tech-docs/new-bu ild-system/user-guide ● 変更内容: http://tools.android.com/tech-docs/new-bu ild-system –
まだまだ開発中なので変更点を追いかけよう
17.
AAR パッケージの公開 Android ライブラリを
Maven リポジトリで共有する
18.
AAR パッケージ ● Android
ライブラリプロジェクトのバイナリディスト リビューション ● classes.jar や AndroidManifest.xml やリソース ファイルなどが含まれる ● リソースファイルの名前衝突には気を付ける必要 がある (?) ● AAR は JAR と同じく Maven リポジトリに置ける http://tools.android.com/tech-docs/new-build-system/aar-format
19.
Maven リポジトリへのアップロード ● maven
プラグインを使うのが今のところ良さそう ● 単にアップロードするだけならそれほど大変では ない – ローカル Maven リポジトリ – 社内 Maven リポジトリ
20.
例: ファイルシステム上へのデプロイ apply plugin:
'com.android.library' // … Android ライブラリプロジェクトの設定いろいろ … apply plugin: 'maven' version = "1.0-SNAPSHOT" group = "org.example.android.sugoi.project" uploadArchives { repositories.mavenDeployer { repository(url: "file:test-repo") pom.artifactId = 'sugoi-library' pom.project { name 'Sugoi library' packaging 'aar' description 'This is Sugoi library' url 'http://sugoi.android.example.org/' } } } ● gradle uploadArchives
21.
一般的な Maven リポジトリ ●
Maven Central へのデプロイはそこそこ大変 – 手作業でやるべきことがいろいろあるし時間がかかる – 参考: http://vividcode.hatenablog.com/entry/howto/p ublish-aar-package-to-maven-central-with-grad le ● 最近だと Bintray (jCenter) が良さそう? – Android Studio のプロジェクトのひな形でも Maven Central ではなく jCenter を参照するようになってい る
22.
Gradle プラグインの作り方 http://www.gradle.org/docs/current/userguide/custom_plugins.html
23.
プラグインの利点 ● ビルド処理を再利用可能な部品にパッケージ化 ● 多くのプロジェクトから利用できる ●
他の人との共有も簡単 ● Groovy でも書けるし Java でも Scala でも書ける – 個人的には Java で書くと理解しやすい
24.
プロジェクト固有の簡単なプラグイン ● Plugin<Project> インターフェイスを実装したクラ ス ●
ビルドスクリプト中に定義して apply apply plugin: GreetingPlugin class GreetingPlugin implements Plugin<Project> { void apply(Project project) { project.task('hello') << { println "Hello from the GreetingPlugin" } } } Plugin<T> : http://www.gradle.org/docs/current/javadoc/org/gradle/api/Plugin.html (http://www.gradle.org/docs/current/userguide/custom_plugins.html より) Plugin<T> : http://www.gradle.org/docs/current/javadoc/org/gradle/api/Plugin.html
25.
スタンドアロンのプラグインの作成 ● ビルドスクリプトの準備とメタファイルの準備 <build.gradle ファイル> dependencies
{ compile gradleApi() compile localGroovy() } <src/main/resources/META-INF/gradle-plugins/xxxx.properties ファイル> implementation-class=your.package.GreetingPlugin
26.
プラグインを使う側 ● buildscript の依存を定義しておいて
apply <build.gradle ファイル> buildscript { repositories { maven { jcenter() } } dependencies { classpath group: 'your.package', name: 'xxxxplugin', version: '1.0' } } apply plugin: 'xxxx'
27.
Android Gradle plugin
と連携する ● アプリ開発では Android Gradle plugin と連携 して動作させたいこともある ● ドキュメントは揃ってないので Android Gradle plugin の実装を読むしかない (と思う)
28.
例: Android SDK
のセットアップ ● ビルドスクリプト内で Android SDK の準備をする Gradle plugin。 – nobuoka/vc-gradle-android-sdk-manager ← 作った – cookpad/gradle-android-sdk-manager – JakeWharton/sdk-manager-plugin ● CI だけでなく手元で開発する際にも便利。
29.
Windows ユーザーへ朗報
30.
build.gradle が UTF-8
で解釈される ● Gradle 1.x 系では、build.gradle の文字エン コーディングはデフォルトエンコーディングで解釈 ● UTF-8 で書かれた build.gradle を日本語 Windows 上の Gradle で解釈させると…!! ● Gradle 2.0 では常に UTF-8 として解釈される! – http://vcs.hatenablog.com/entry/20131227/ 1388097109
31.
おわりに ● Gradle +
Android Gradle plugin でビルド環境 のカスタマイズがしやすくなった ● AAR フォーマットができてライブラリ公開がやりや すくなった ● 便利プラグインや便利ライブラリを作って公開した りしてコミュニティを盛り上げていきたいですね!
Download