Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Android 11 Meetups - What’s new in Android Studio
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
pluulove (노현석)
July 30, 2020
Programming
970
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Android 11 Meetups - What’s new in Android Studio
Android 11 Meetups 에서 발표한 자료입니다.
pluulove (노현석)
July 30, 2020
More Decks by pluulove (노현석)
See All by pluulove (노현석)
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
270
Google I/O Extended Incheon 2025 ~ What's new in Android development tools
pluu
1
580
N.E.X.T LEVEL
pluu
3
630
안드로이드 기술 이력서의 최소 조건
pluu
1
4.6k
I/O Extended Android in Korea 2024 ~ Whats new in Android development tools
pluu
0
800
Android Studio와 좀 더 친해지기
pluu
0
270
우리모두 삽질한다
pluu
0
1.5k
Re:Android Studio 설정 살펴보기 및 생산성 올리기
pluu
0
1.8k
What's new in Android development tools
pluu
1
980
Other Decks in Programming
See All in Programming
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
450
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
1
9.2k
アクセシビリティから考える情報設計
high_g_engineer
0
380
Java 27新機能 / Java 27 new features
kishida
2
160
Security issues being discussed on Web Platforms
petamoriken
0
1.2k
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
8.2k
The Rails Doctrine Decade
koic
2
320
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
240
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
350
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
110
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
460
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
490
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
142
7.7k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
600
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
940
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Building the Perfect Custom Keyboard
takai
2
880
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Facilitating Awesome Meetings
lara
57
7.1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
530
Transcript
GDG Incheon What’s new in Android Studio in 4.0, 4.1,
4.2 HyeonSeok Noh Google Developer Experts for Android
GDG Incheon Roadmap 2019 2020 v3.5 Project Marble v3.6 v4.0
View Binding Emulator - Google Maps UI Leak Detection Design Tool Updates Motion Editor “Live” Layout Inspector Build Analyzer CPU Profiler update v4.1 v4.2
GDG Incheon New Logo?!
4.2 Support for Compose Improved instrumentation testing 4.1 Material Design
Project IDE configuration Dagger navigation Emulator directly Database Inspector Custom View Preview 4.0 Java8 library desugaring Build Analyzer CPU Profiler upgrades New Motion Editor Live Layout Inspector Kotlin Android live templates Updated proguard rules android studio
GDG Incheon Stable Android Studio 4.0 • Java8 library desugaring
• Build Analyzer • CPU Profiler upgrades • New Motion Editor • Live Layout Inspector • Kotlin Android live templates • Updated proguard rules
GDG Incheon Lambda Expressions Default interface method try with resource
… Android Studioীࢲ Java8ۆ? 2013 2014 2015 2016 2017 2018 2019 2020 Google I/O 2013 Android Studio ߊ 3.0 ߊ Java 8 ਗ द (D8)
GDG Incheon Android Gradle Plugin 3.0.0+ https://developer.android.com/studio/write/java8-support
GDG Incheon Android Gradle Plugin 3.0.0+ https://developer.android.com/studio/write/java8-support
GDG Incheon Sample, Required APIs Using time/stream
Default
java.time.LocalDate ࢎਊ Default
java.time.LocalDate ࢎਊ Default java.util.stream.Stream ࢎਊ
GDG Incheon Lambda Expressions Default interface method try with resource
… Android Studio 4.0+ 2013 2014 2015 2016 2017 2018 2019 2020 3.0 ߊ Java 8 ਗ द (D8) 4.0 ߊ Support Java API Desugar (D8) min APIী ೱਸ ߉ঋҊ Java য APIܳ ࢎਊоמ Google I/O 2013 Android Studio ߊ
GDG Incheon coreLibraryDesugaringEnabled android { compileOptions { // ࢜۽ য
APIܳ ਗೞӝ ਤೠ Flag coreLibraryDesugaringEnabled true // Java compatibility ࢸী Java 8 ਊ sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9' } android { defaultConfig { // minSdkVersion 20 ೞੋ ҃ ࣻ multiDexEnabled true } }
GDG Incheon coreLibraryDesugaringEnabled ਊ റ Clear Required API
Java 8 API ࢎਊਸ ਤೠ ഐജࢿ ӝ߈ ࠁо ୶оؽ ਊ
ࠁ ਊ ૐо Desugar
Desugar j$.time.LocalDate ࢎਊ LocalDate.now()
Desugar j$.time.LocalDate ࢎਊ j$.util.stream.Stream ࢎਊ LocalDate.now() stream()
GDG Incheon Supported APIs Android Gradle plugin 4.0.0 or higher
• java.util.stream • java.time • java.util.function • java.util.{Map,Collection,Comparator} • java.util.Optional, java.util.OptionalInt, java.util.OptionalDouble • java.util.concurrent.atomic (new methods on AtomicInteger, AtomicLong, AtomicReference) • ConcurrentHashMap (with bug fixes for Android 5.0) https://developer.android.com/studio/write/java8-support#library-desugaring
GDG Incheon Summary .java .javac .class 3rd party libs D8/R8
App .dex(s) j$ .dex Library desugaring j$.util.stream j$.time … {
// build.gradle (Default) android { buildFeatures { buildConfig = true
viewBinding = false dataBinding = false aidl = true renderScript = true resValues = true shaders = true } } New options to enable or disable build features GDG Incheon • ਗೞח ӝמ ױਤ ഝࢿച оמ • Module ױਤ build Configuration ࢸ Deprecated android { dataBinding.enabled = false viewBinding.enabled = false }
Project-wide default settings GDG Incheon // project gradle.properties android.defaults.buildfeatures.viewbinding=true android.defaults.buildfeatures.databinding=true
android.defaults.buildfeatures.aidl=true android.defaults.buildfeatures.buildconfig=true android.defaults.buildfeatures.renderscript=true android.defaults.buildfeatures.resvalues=true android.defaults.buildfeatures.shaders=true • Project ӝࠄ ࢸ ܻ
GDG Incheon on AGP 4.0+ on Android Studio 4.0+ Analyze
the project's build performance Build… ing… ing…
GDG Incheon Build Analyzer • ࠽٘ दрਸ Ѿೞח ೦ݾٜਸ ࠙ࢳ
• Task ѐࢶਵ۽ ࠽٘ दрਸ ੌ ࣻ ח ನੋ https://developer.android.com/studio/build/build-analyzer
GDG Incheon Build Analyzer ~ Example
GDG Incheon Build Analyzer Pluginsਵ۽ ߊࢤೞח दр ഛੋ OSS ۄࣃझ
јन ݒ ࠽٘दী јनೡ ਃח হ ( 313s / 68.2%)
GDG Incheon Build Analyzer ~ Tasks • Critical Path Task
दрਸ ഛੋ • ࠽٘ दрਸ Ѿೞח ਃ Taskܳ ഛੋ
GDG Incheon Build Analyzer ~ Tasks Critical Path Task
GDG Incheon Build Analyzer ~ Tasks Critical Path Task
GDG Incheon Build Analyzer ~ Warnings ೦࢚ زೞח Taskо ח
҃, 1. Task ࣻ 2. Library Issue ١۾
GDG Incheon Advanced Tips ~ Build Scan ./gradlew assembleDebug --scan
https://guides.gradle.org/creating-build-scans/
GDG Incheon Upgrade CPU Profiler Inspect system traces : https://developer.android.com/studio/profile/cpu-profiler#inspect-traces
• CPU Profiler UI ѐࢶ • ೠ ߣী ݽٚ झۨ٘ܳ ഛੋ (Redner, App-Main, Others Thread) • ؊ ҙਵ۽ ఐ࢝ • ࠙ࢳ ಁօ ѐࢶ
GDG Incheon CPU Profiler GDG Incheon
GDG Incheon CPU Profiler GDG Incheon Timeline Analysis
GDG Incheon CPU Profiler GDG Incheon
GDG Incheon Inspect system traces • ఋ ۄੋীࢲ п झۨ٘ীࢲ
ߊࢤೞח ߮ • ݽٚ CPU যীࢲ झۨ٘ ഝز • UI झۨ٘ ߂ ۨ ࣘب ೞܳ ਬߊೞח ߽ݾ അ࢚ ഛੋ GDG Incheon
GDG Incheon Design tools
GDG Incheon Design Tools Timeline 2.2 3.0 3.3 3.4 3.5
3.6 4.0 Layout Editor Alpha Layout Editor Navigation Editor Resource Manager Project Marble Constraint Layout Motion Layout Motion Editor
GDG Incheon Split View update UX • Code/Split/Design View ജ
ѐࢶ • ఫझ о٘ ୶о
GDG Incheon Material Icons Filled Outlined Rounded Sharp Two Tone
• 1,000+ icons • 5 ઙܨ ప݃ File > New > Image Assert / Vector Assert
GDG Incheon Motion Editor • Required ConstraintLayout 2.0.0-beta3
Demo
GDG Incheon Live Layout Inspector • 3D View (Rotate View)
• Live Updates • Modify Layer Spacing • Required API Level 29+ on Devices
Layout Inspector Example
Issues https://issuetracker.google.com/issues/157714512 GDG Incheon
GDG Incheon Property value resolution stack • ܻࣗझ ч दغח
ਤܳ ઑࢎ • Override غח ܻࣗझ ഛੋ https://developer.android.com/studio/releases#4-0-0-live-layout-inspector
Property value resolution stack
GDG Incheon Layout Validation ۨইਓ ਬബࢿ Ѩࢎ (Multi Devices, Color,
Font Size)
Layout Validation
Color Blind
Font Sizes
Custom Validation ୶о ജ҃ ࢸਵ۽ Preview ഛੋ
GDG Incheon Kotlin Android live templates Preferences | Editor |
Live Templates
GDG Incheon Smart editor for code shrinker rules • R8
٘ ୷ࣗ ӏ ੌ(proguard-rules.pro)ਸ ৌ ٸ झ݃ ಞӝ ӝמ • Class, Method, Field ী ೠ ࡅܲ ఐ࢝җ Rename ਗ
GDG Incheon Smart editor for code shrinker rules
GDG Incheon Beta 5 Android Studio 4.1 • Material Design
Project • IDE configuration • Dagger navigation • Emulator directly • Database Inspector • Custom View Preview
Material Design Components : Updated themes and styles Android Studio
4.1 ࠗఠ ݠ౭ܻ ٣ੋ ӝࠄ ਊ
Material Design Components
Material Design Components ~4.0 : colorPrimary 4.1+ : purple_500 ex)
Material Design Components
Material Design Components Support Dark Theme
GDG Incheon Configuration directory changes Window macOS Linux Syntax: %APPDATA%\Google\<product><version>
Example: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudioPreview4.1 Syntax: ~/Library/Application Support/Google/<product><version> Example: ~/Library/Application Support/Google/AndroidStudioPreview4.1 Syntax: ~/.config/Google/<product><version> Example: ~/.config/Google/AndroidStudioPreview4.1 IntelliJ IDEA 2020.1 | Default IDE directories
GDG Location Dagger navigation support GDG Incheon New gutter actions
Dagger ҙ۲ ٘ܳ औѱ ఐ࢝ ઓࢿ ҕә(Provider) ఐ࢝ ઓࢿ ࢎਊ(Related) ఐ࢝
Dagger navigation Example GDG Incheon
Emulator directly ীޯۨఠܳ built-in प೯ GDG Incheon
GDG Incheon Emulator directly
GDG Incheon Emulator directly ୶о ஶ܀ ӝמ • Show Zoom
Controls
GDG Incheon Emulator directly ୶о ஶ܀ ӝמ • Show Zoom
Controls • Crop Device Frame
Launch in a tools window AS 4.1 or Higher Preferences
| Tools | Emulator Emulator प೯ ਤܳ ߸҃ • On : IDEী ࠽ੋػ ഋక • Off : ӝઓ ߑध
GDG Incheon Database Inspector A live database tool (AS 4.1
Canary 6+) • Query database • Table ؘఠ ߂ ࣻ • Room/Sqlite ਗ image caption : https://medium.com/androiddevelopers/database-inspector-9e91aa265316 • Live Updates • Run Query Action
GDG Incheon Navigate Menu • View - Tools Windows -
Database Inspector • ೞױ Tool ݫ - Database Inspector GDG Incheon
Database Inspector Required min API Level 26 (Oreo) GDG Incheon
Database Inspector Inspection App ࢶఖ GDG Incheon
Database Inspector DB / Table ഛੋ @Query ۽ ػ Action
प೯ (Database Inspectionदী݅ ഝࢿച) GDG Incheon
GDG Incheon GDG Location Sqlite statement Example
GDG Incheon Update table Example GDG Incheon
GDG Incheon Live updates Example GDG Incheon
GDG Incheon Custom View Preview
GDG Incheon android studio 4.0
GDG Incheon android studio 4.0
Custom View (code) GDG Incheon android studio 4.1
GDG Incheon Updated CPU Profiler https://developer.android.com/studio/preview/features#4.1-ui-upgrades • Box selection •
Summary tab • Add SurfaceFlinger and VSYNC on Display Data
CPU Profiler on AS 4.1 GDG Incheon
GDG Incheon Recurring trace event • ӝࠄ trace (Count, Average,
Max, Min …) • о ӟ प೯ ܻ ഛੋ
GDG Incheon Canary 5 Android Studio 4.2 • Support for
Jetpack Compose • Improved instrumentation testing
GDG Incheon Jetpack Compose
GDG Incheon Jetpack Compose Android ୭न UI toolkit • ࢶੋ
UI Patterns • ࣻ ٘ • ҙ • ࡅܲ ѐߊ җ • ъ۱ೠ ࢿמ • Unbundled UI ஹನք • Kotlin API ࢎਊ • അח Developer Preview Jetpack Compose : https://developer.android.com/jetpack/compose GDG Incheon
GDG Incheon 2020.07 0.1.0-dev15 2019.10 0.1.0-dev01 2010.01 0.1.0-dev04 2019.05
GDG Incheon New Jetpack Composetooling • Compose preview • Interactive
preview • Deploy to device GDG Incheon
GDG Incheon Compose preview GDG Incheon
GDG Incheon PreviewParameter
GDG Incheon • Tools Attribute Sample Data৬ ਬࢎ • ױੌ
ۨইਓਸ ࠂࣻ ؘఠ۽ ഛੋೞҊ र ҃ী ਬਊೣ • PreviewParameterProvider • Data ઁҕਸ ҳഅೞח ੋఠಕझ • PreviewParameter • Data ࣻनܳ ೞח Annotation PreviewParameter GDG Incheon
GDG Incheon Interactive preview • Composable ױਤ۽ Preview प೯ •
पઁ৬ زੌೞѱ ز
GDG Incheon Interactive preview
Deploy Preview
Deploy Preview
GDG Incheon Improved instrumentation testing
GDG Incheon Improved instrumentation testing
GDG Incheon Improved instrumentation testing
GDG Incheon Emulators
Foldables • Foldable ױ݈ Hinge ਗ • Emulator Extended controls
> Virtual sensors ীࢲ ߸҃ • അח ࣻزਵ۽ config.ini ী Hinge ੑ۱ਵ۽ ഝࢿച https://androidstudio.googleblog.com/2020/06/emulator-30017-canary.html
GDG Incheon Hinge angle sensor hw.sensor.hinge = yes hw.sensor.hinge.count =
2 hw.sensor.hinge.ranges = 0-360,0-360 hw.sensor.hinge.defaults = 180,180 hw.sensor.hinge.areas = 0-987-1440-0, 0-1974-1440-0 hw.sensor.posture_list = 1, 2, 3, 4 hw.sensor.hinge_angles_posture_definitions = 0-30 & 0-30, 30-150 & 30-150, 150-210 & 150-210, 210-360 & 210-360 https://cs.android.com/android/platform/superproject/+/master:prebuilts/ android-emulator/linux-x86_64/lib/hardware-properties.ini;l=535 Add lines to ~/.android/avd/avdName.avd/config.ini
GDG Incheon Create AVD • Open AVD (on 4.1 or
Higher) • Category > Tablet • Create 13.5” Freeform
GDG Incheon
v4.0 Motion Editor “Live” Layout Inspector Layout Validation Custom View
Preview CPU Profiler Update R8 Rules Editing Build Analyzer Dynamic Feature Dependency Intellij 2019.3 android studio Database Inspector Dependency Injection tools Faster Apply Changes Gradle Config Caching Android Emulator in IDE Instrumentation Testing Profiler UI Updates Native Memory Profiling New Gradle API MLKit & TFLite Model Import Intellij 2020.1 Wireless ADB Debugging Compose Interactive Preview Compose Animation Visualization ConstraintLayout Visualization Compose Theme Preview Compose Deploy to Device Sample Data API for Compose Compose Editing Support Test Failure Retention Intellij 2020.2 v4.1 v4.2
GDG Incheon Reference Android Studio Release • https://developer.android.com/studio/releases#4-0-0 • https://developer.android.com/studio/preview/features#4.1
• https://developer.android.com/studio/preview/features#4.2 • https://android-developers.googleblog.com/2020/05/android-studio-4.html Medium • https://medium.com/androiddevelopers/layout-inspector-1f8d446d048 • https://medium.com/androiddevelopers/database-inspector-9e91aa265316 • https://medium.com/androiddevelopers/whats-new-in-android-studio-system-trace-5841465c5935 • https://medium.com/androiddevelopers/support-for-newer-java-language-apis-bca79fc8ef65 • https://medium.com/androiddevelopers/dagger-navigation-support-in-android-studio-49aa5d149ec9 • https://medium.com/androiddevelopers/android-at-large-how-to-bring-optimized-experiences-to-the-big-screen- a50a6784e59d
GDG Incheon Thanks!! http://pluu.github.io @pluulove