Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Gradleの実行環境設定を見直す
Search
Yoshihiro WADA
January 19, 2024
Programming
0
980
Gradleの実行環境設定を見直す
2024/1/19に開催されたshibuya.apk #46で発表した「Gradleの実行環境設定を見直す」のスライドです
Yoshihiro WADA
January 19, 2024
Tweet
Share
More Decks by Yoshihiro WADA
See All by Yoshihiro WADA
AndroidデバイスにFTPサーバを建立する
e10dokup
0
370
Firebase App Distributionのテストアプリ配信を試しやすくする
e10dokup
0
610
アプリに署名する 〜GitHub ActionsでのCIも見据えて〜
e10dokup
0
1.2k
Profileable buildでより正確なパフォーマンスを掴む
e10dokup
0
740
[DroidKaigi 2021] メディアアクセス古今東西 / Now and Future of Media Access
e10dokup
0
3.6k
今更「dp」を考える / Let's think about "dp" now
e10dokup
0
5.7k
1から学ぶAndroidアプリデバッグ - アプリの動作を追いかけよう / Learn Android application debugging from the scratch - track apps' behaviors
e10dokup
10
3.2k
Guide to background processingを読んでみる / Reading "Guide to background processing"
e10dokup
0
260
よしなに頑張る画像ロードの話 / image load mettya tsurai
e10dokup
2
500
Other Decks in Programming
See All in Programming
AI Coding Agent Enablement in TypeScript
yukukotani
17
7.1k
Parallel::Pipesの紹介
skaji
2
860
ts-morph実践:型を利用するcodemodのテクニック
ypresto
1
530
人には人それぞれのサービス層がある
shimabox
3
460
Doma で目指す ORM 最適解
nakamura_to
1
160
當開發遇上包裝:AI 如何讓產品從想法變成商品
clonn
0
2.5k
primeNumberでのRBS導入の現在 && RBS::Traceでinline RBSを拡充してみた
mnmandahalf
0
250
Interface vs Types ~型推論が過多推論~
hirokiomote
1
230
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
5
930
テスト分析入門/Test Analysis Tutorial
goyoki
11
2.7k
JSAI2025 RecSysChallenge2024 優勝報告
unonao
1
370
鯛変だったRubyKaigi 2025 ── それでも楽しかった!
pndcat
0
130
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
53
11k
The Invisible Side of Design
smashingmag
299
50k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
25
2.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
The Cult of Friendly URLs
andyhume
78
6.4k
GraphQLとの向き合い方2022年版
quramy
46
14k
Building an army of robots
kneath
306
45k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Docker and Python
trallard
44
3.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
620
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
Transcript
Gradle Yoshihiro Wada / @e10dokup 2024/01/19 @ Shibuya.apk #46
{ “id”: “@e10dokup”, “name”: “Yoshihiro Wada”, “affiliations”: [ “CyberAgent Inc,
/ Ameba” ], “interested”: [ “camera”, “gadget”, “driving”, “motorsports” ] }
Android Gradle Gradle JVM 3
Android Gradle
Android Studio Gradle release debug Staging/Production APK/AAB Android Gradle Android
Gradle Plugin AGP Android Gradle 5
Gradle JVM Groovy Gradle JVM Gradle Gradle Gradle JVM Gradle
6
None
Android --build-cache gradle.properties GRADLE_OPTS CI GRADLE_OPTS: ʢઃఆʙʙʣ Gradle 8
Gradle 9 Ҿ༻ݩɿhttps://docs.gradle.org/current/userguide/build_environment.html
CI GRADLE_OPTS CI gradle.properties GRADLE_OPTS JVM GRADLE_OPTS JVM_OPTS 10
None
Android Studio Android SDK AGP AGP 8 R AGP Android
Studio 12
AndroidX •android.enableJetifier=false Build Analyzer Jeti fi er 13
R R •android.nonTransitiveRClass=true AGP 8.0.0 10~20% Android Studio [Refactor] >
[Migrate to Non-Transitive R Classes … ] R 14
Con fi guration •org.gradle.configuration-cache=true •org.gradle.configuration-cache.problems=warn Con fi guration Build Analyzer
Con fi guration Cache Con fi guration Cache 15
Gradle JVM •org.gradle.jvmargs=-XX:+UseParallelGC •org.gradle.jvmargs=-Xmx4096M Gradle JVM org.gradle.jvmargs 16
Gradle JVM
CI Common Android memory issues CI 1 OS 75% RAM
20GB 15GB PC Android Studio PC Android Studio RAM 16GB JVM 18
org.gradle.jvmargs 19 org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=1g -Dkotlin.daemon.jvm.options=-Xmx2g
-Xmx JVM Android Developers 4/6/8GB Gradle JVM -Xms org.gradle.jvmargs 20
org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=1g -Dkotlin.daemon.jvm.options=-Xmx2g
-XX:MaxMetaspaceSize Metaspace Gradle Gradle Plugin OOM 256m 384m Android org.gradle.jvmargs
21 org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=1g -Dkotlin.daemon.jvm.options=-Xmx2g
-Dkotlin.daemon.jvm.options Kotlin Daemon Kotlin Daemon Gradle org.gradle.jvmargs Gradle OOM org.gradle.jvmargs
22 org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=1g -Dkotlin.daemon.jvm.options=-Xmx2g
Kotlin 23 Kotlin Gradle Daemon kotlin.compiler.execution.strategy daemon default Kotlin Daemon
in-process Gradle Daemon Gradle out-of-process Gradle
PC CI Gradle 2-3 GRADLE_OPTS gradle.properties Gradle Daemon RAM 20GB
4GB 24
https://developer.android.com/build/optimize-your-build Optimize your build speed Android Developers https://support.circleci.com/hc/en-us/articles/360021812453- Common-Android-memory-issues Common
Android Memory Issues Circle CI https://qiita.com/irgaly/items/4c22d233caf8ec55512e Android: GitHub Actions Gradle build daemon disappeared unexpectedly Qiita References 25