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
780
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
Firebase App Distributionのテストアプリ配信を試しやすくする
e10dokup
0
530
アプリに署名する 〜GitHub ActionsでのCIも見据えて〜
e10dokup
0
1.1k
Profileable buildでより正確なパフォーマンスを掴む
e10dokup
0
690
[DroidKaigi 2021] メディアアクセス古今東西 / Now and Future of Media Access
e10dokup
0
3.3k
今更「dp」を考える / Let's think about "dp" now
e10dokup
0
5.4k
1から学ぶAndroidアプリデバッグ - アプリの動作を追いかけよう / Learn Android application debugging from the scratch - track apps' behaviors
e10dokup
10
3.1k
Guide to background processingを読んでみる / Reading "Guide to background processing"
e10dokup
0
250
よしなに頑張る画像ロードの話 / image load mettya tsurai
e10dokup
2
470
WorkManager Stableに向けての所感
e10dokup
2
430
Other Decks in Programming
See All in Programming
nekko cloudにおけるProxmox VE利用事例
irumaru
3
430
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
100
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
140
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
140
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
260
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
150
Jakarta EE meets AI
ivargrimstad
0
260
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
110
Spatial Rendering for Apple Vision Pro
warrenm
0
110
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
260
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
140
useSyncExternalStoreを使いまくる
ssssota
6
1.1k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Thoughts on Productivity
jonyablonski
67
4.4k
Facilitating Awesome Meetings
lara
50
6.1k
YesSQL, Process and Tooling at Scale
rocio
169
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Gamification - CAS2011
davidbonilla
80
5.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Unsuck your backbone
ammeep
669
57k
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