Slide 1

Slide 1 text

HyeonSeok Noh @pluulove What's new in Android Develop Sessions 1

Slide 2

Slide 2 text

Reference 2 What’s new in Android development tools What's new in Android testing tools New in design tools

Slide 3

Slide 3 text

4.2 Project upgrade assistant Safe Args support Apply changes update Gradle compatibility and configuration changes Quality Bumblebee Android Testing android studio 3 Arctic Fox New in app inspection JDK 11 required to run AGP 7.0 Compose support in the Layout Inspector StateFlow support in data binding Gradle test runner Support for Jetpack Compose New test matrix for multi-device testing

Slide 4

Slide 4 text

4 02 Android Studio Arctic Fox 01 Android Studio 4.2 03 Android Studio Bumblebee 04 Design Tools 05 Summary

Slide 5

Slide 5 text

Android Studio 4.2ࠗఠ JDK 11੉ Studio৬ ೣԋ ߣٜ۽ ઁҕ Gradle ഐജࢿ ߂ ജ҃ ߸҃ Configuration 5

Slide 6

Slide 6 text

6 4.1.3 OpenJDK 1.8.0 4.2.1 OpenJDK 11.0.8 Arctic Fox Beta 5 OpenJDK 11.0.10 Bumblebee Canary 2 OpenJDK 11.0.10

Slide 7

Slide 7 text

- Java SE ೒ۖಬ੄ ݽٕച بੑ - ౵ੌ दझమਸ ࢓ಝࠁݶ ಫ؊ ҳઑо ੉੹ ߡ੹җ ࢚੉ೣ - ੉੹ ߡ੹ীࢲח Java SE੄ JRE + ѐߊ بҳ ߂ ۄ੉࠳۞ܻܳ ನೣೠ JDKо ನೣ JDK 9+ Migration 7 Java Platform, Standard Edition Oracle JDK 9 Migration Guide https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-7744EF96-5899-4FB2- B34E-86D49B2E89B6

Slide 8

Slide 8 text

8 Android Studio Bundle in Open JDK Run Android Studio Run Gradle Task Installed Android Studio

Slide 9

Slide 9 text

Installed Android Studio 9 Android Studio Bundle in Open JDK Run Android Studio Run Gradle Task Project Structure

Slide 10

Slide 10 text

10 02 Android Studio Arctic Fox 01 Android Studio 4.2 03 Android Studio Bumblebee 04 Design Tools 05 Summary

Slide 11

Slide 11 text

11 2020.3.1 Arctic Fox Year of Intellij Version Intellij Major version Studio Major version IntelliJ Platform version

Slide 12

Slide 12 text

Gradle ഐജࢿ ߂ ജ҃ ߸҃ Configuration 12

Slide 13

Slide 13 text

App Project Android Gradle plugin 13

Slide 14

Slide 14 text

14 Updated Android Studio Gradle Plugin Gradle 7.x ߡ੹җ੄ ഐജࢿ

Slide 15

Slide 15 text

JDK 11 required to run AGP 7.0 15 Configuration

Slide 16

Slide 16 text

16 JDK 11 required to run AGP 7.0 - AGP 7.0ਸ ࢎਊೞৈ ࠽٘ ೡ ٸ Gradleਸ प೯ ೞ۰ݶ JDK 11੉ ೙ࣻ - Android Studio Arctic Foxী JDK 11੉ ߣٜ۽ ઁҕ JDK 11 required to run AGP 7.0 https://developer.android.com/studio/preview/features#agp-7-0-jdk-11 Gradle JDK ࢸ੿ - Preferences > Build, Execution, Deployment > Build Tools > Gradle

Slide 17

Slide 17 text

17 Android Gradle plugin 7.0 ೐۽ં౟ীࢲ Java 11 ࣗझ ௏٘ ஹ౵ੌ оמ // build.gradle.kts android { compileSdkVersion(30) compileOptions { sourceCompatibility(JavaVersion.VERSION_11) targetCompatibility(JavaVersion.VERSION_11) } kotlinOptions { jvmTarget = "11" } } Android Gradle plugin 7.0 https://developer.android.com/studio/preview/features#android_gradle_plugin_70

Slide 18

Slide 18 text

Android Studio now uses Gradle test runner 18 Test Android Studio now uses Gradle test runner https://developer.android.com/studio/preview/features#test-configurations Android Studioীࢲ Gradleਸ ࢎਊೞৈ ױਤ పझ౟ܳ प೯

Slide 19

Slide 19 text

19

Slide 20

Slide 20 text

20

Slide 21

Slide 21 text

21

Slide 22

Slide 22 text

New test matrix for multi-device testing 22 Test Instrumented testܳ ৈ۞ ӝӝীࢲ ߽۳۽ प೯ పझ౟ Ѿҗ ಁօਸ ࢎਊೞৈ API ࣻળ ژח ೞ٘ਝয ࣘࢿਵ۽ ੋ೧ పझ౟о पಁೞח૑ ഛੋ

Slide 23

Slide 23 text

23

Slide 24

Slide 24 text

24 Parallel device testing with Test Matrix https://android-developers.googleblog.com/2021/05/android-studio-arctic-fox-beta.html

Slide 25

Slide 25 text

25 Parallel device testing with Test Matrix https://android-developers.googleblog.com/2021/05/android-studio-arctic-fox-beta.html

Slide 26

Slide 26 text

26 Parallel device testing with Test Matrix https://android-developers.googleblog.com/2021/05/android-studio-arctic-fox-beta.html

Slide 27

Slide 27 text

27 02 Android Studio Arctic Fox 01 Android Studio 4.2 03 Android Studio Bumblebee 04 Design Tools 05 Summary

Slide 28

Slide 28 text

28 2021.1.1 Bumblebee Year of Intellij Version Intellij Major version Studio Major version

Slide 29

Slide 29 text

Unified Gradle test runner 29 Test Instrumented testܳ प೯ೡ ٸ Gradle੄ Android Instrumented test runnerܳ ా೧ࢲ प೯

Slide 30

Slide 30 text

30 Unified Gradle test runner https://developer.android.com/studio/preview/features#bumblebee-unified-test-runner

Slide 31

Slide 31 text

31 Unified Gradle test runner https://developer.android.com/studio/preview/features#bumblebee-unified-test-runner

Slide 32

Slide 32 text

32 Unified Gradle test runner https://developer.android.com/studio/preview/features#bumblebee-unified-test-runner Run Android instrumented tests using Gradle Android Studio৬ Android Gradle Pluginীࢲ زੌೠ Android instrumented test runnerܳ ࢎਊ

Slide 33

Slide 33 text

Unified Gradle test runner https://developer.android.com/studio/preview/features#bumblebee-unified-test-runner Android Studio now uses Gradle test runner https://developer.android.com/studio/preview/features#test-configurations 33 Unit Test Instrument Test Instrument Test using Gradle 4.2.1 Arctic Fox Bumblebee Android JUnit - IntelliJ Android instrumented test runner - Gradle test runner Gradle test runner Android instrumented 
 test runner on Gradle

Slide 34

Slide 34 text

Emulator Snapshots for test failures 34 Test Emulator Snapshots for test failures https://developer.android.com/studio/preview/features#emulator-snapshots-for-test-failures Instrumented test పझ౟ पಁܳ ؊ ࡅܰѱ ੤അ

Slide 35

Slide 35 text

35 Emulator Snapshots for test failures on Android Studio োѾػ ীޯۨ੉ఠীࢲ प೯઺ੋ instrumented testо पಁೠ ா੉झܳ ߊѼೞݶ ӝӝ੄ पಁद ࢚ కܳ झշ ࢫਵ۽ ࢤࢿ - Android Studio Bumblebeeীࢲ 
 Android Gradle Plugin 7.0-alpha13 ੉࢚

Slide 36

Slide 36 text

36

Slide 37

Slide 37 text

37

Slide 38

Slide 38 text

38 Enable snapshots for command-line tests

Slide 39

Slide 39 text

39 Linux or Mac : ./gradlew connectedCheck Windows : gradlew connectedCheck

Slide 40

Slide 40 text

40 Linux or Mac : ./gradlew connectedCheck Windows : gradlew connectedCheck

Slide 41

Slide 41 text

41 Run > Import Tests from File

Slide 42

Slide 42 text

What is UTP? ా೤ పझ౟ ೒ۖಬ 
 (Unified Test Platform) ೒۞Ӓੋਸ ాೠ ݽٕध 42 ӝמ ѐߊীࢲ పझ౟ ജ҃ਸ ୶࢚ ചೞח ഛ੢ оמೠ ೒ۖಬ ݽٕഋ ೒۞Ӓੋਸ ా೧ పझ౟ प ೯ী ӝמ੉ ୶оغয ӝמਸ ة݀ ੸ਵ۽ ѐߊೞҊ সؘ੉౟ ೡ ࣻ ੓׮ ݽٚ పझ౟ ജ҃ী ؀೧ ೠ о૑ ߑधਵ۽݅ ҳഅೞݶ غח ݽٕध ѐߊ۽ ؊ ݆਷ ӝמਸ ؊ ࡈܻ ߓ ನೡ ࣻ ੓׮ ؊ ૣ਷ ܾܻૉ ઱ӝ

Slide 43

Slide 43 text

43 43

Slide 44

Slide 44 text

44 Gradle DSLਸ ࢎਊ೧ࢲ о࢚ ੢஖ ߂ ੢஖ 
 Ӓܛਸ ࢶ঱ оמ Android Gradle plugin(AGP)ਸ ా೧ ੢஖ܳ ੹੸ਵ۽(ࢤࢿ, ߓನ, ೧୓) ҙܻ ೙ਃೠ о࢚ ੢஖ ੉޷૑ ߂ SDKܳ ׮਍۽٘ పझ౟ Ѿҗܳ நयೞҊ Emulator snapshotਸ ࢎਊ೧ ࡅܰѱ పझ౟ оמ Gradle Managed Devices

Slide 45

Slide 45 text

45 android { testOptions { devices { pixel2api29(com.android.build.api.dsl.ManagedVi rt ualDevice) { // Android Studioীࢲ ࠅ ࣻ ੓ח ӝӝ ೐۽೙ ࢎਊ device = "Pixel 2" apiLevel = 29 // Google Play Servicesо ࠛ೙ਃೠ ҃਋ "aosp"۽ ૑੿ оמ systemImageSource = "google" abi = "x86" } } } } Gradle Managed Virtual Devices

Slide 46

Slide 46 text

46 android { testOptions { devices { pixel2api29(com.android.build.api.dsl.ManagedVi rt ualDevice) { // Android Studioীࢲ ࠅ ࣻ ੓ח ӝӝ ೐۽೙ ࢎਊ device = "Pixel 2" apiLevel = 29 // Google Play Servicesо ࠛ೙ਃೠ ҃਋ "aosp"۽ ૑੿ оמ systemImageSource = "google" abi = "x86" } } } } Gradle Managed Virtual Devices

Slide 47

Slide 47 text

47 android { testOptions { devices { pixel2api29(com.android.build.api.dsl.ManagedVi rt ualDevice) { // Android Studioীࢲ ࠅ ࣻ ੓ח ӝӝ ೐۽೙ ࢎਊ device = "Pixel 2" apiLevel = 29 // Google Play Servicesо ࠛ೙ਃೠ ҃਋ "aosp"۽ ૑੿ оמ systemImageSource = "google" abi = "x86" } } } } Gradle Managed Virtual Devices

Slide 48

Slide 48 text

48 $ gradlew -Pandroid.experimental.androidTest.useUni fi edTestPla tf orm=true [device-name][BuildVariant]AndroidTest పझ౟ प೯ Gradle Managed Virtual Devices https://developer.android.com/studio/preview/features#get_started Example (MAC) $ ./gradlew -Pandroid.experimental.androidTest.useUni t f

Slide 49

Slide 49 text

49 android { testOptions { devices { pixel2api29(com.android.build.api.dsl.ManagedVi rt ualDevice) { … } pixel3api29(com.android.build.api.dsl.ManagedVi rt ualDevice) { … } } deviceGroups { phoneAndTablet { targetDevices.addAll(devices.pixel2api29, devices.pixel3api30) } } } } Gradle Managed Virtual Devices (Group)

Slide 50

Slide 50 text

50 $ gradlew -Pandroid.experimental.androidTest.useUni fi edTestPla tf orm=true [group-name]Group[BuildVariant]AndroidTest పझ౟ प೯ Gradle Managed Virtual Devices https://developer.android.com/studio/preview/features#get_started Example (MAC) $ ./gradlew -Pandroid.experimental.androidTest.useUni t f

Slide 51

Slide 51 text

51

Slide 52

Slide 52 text

52

Slide 53

Slide 53 text

53 02 Android Studio Arctic Fox 01 Android Studio 4.2 03 Android Studio Bumblebee 04 Design Tools 05 Summary

Slide 54

Slide 54 text

54

Slide 55

Slide 55 text

55

Slide 56

Slide 56 text

56 Animated Vector Drawable - Preview Animated Vector Drawable - Android Studio Bemblebee or Higher What’s new

Slide 57

Slide 57 text

VirtualLayout : Flow Performance improvements MotionLayout 2.0 2.1 Constraints Flow improvements Carousel helper Rotation support / Gestures ViewTransitions Foldable 57 ConstraintLayout

Slide 58

Slide 58 text

58 Carousel

Slide 59

Slide 59 text

Rotation Support

Slide 60

Slide 60 text

60 Motion Effect - ੉ز ߑೱী ٮۄ ଵઑೞח ࠭ী ః ೐ۨ੐ਸ ੗زਵ۽ ୶о Motion helper ConstraintLayout - MotionEffect https://github.com/androidx/constraintlayout/wiki/MotionEffect

Slide 61

Slide 61 text

61 View Transitions - MotionLayout ղীࢲ ױੌ গפݫ੉࣌ਸ ഝࢿചೞח ࢜۽਍ కӒ ੤ࢎਊ оמೠ ױੌ View Transitions ConstraintLayout 2.1 - ViewTransition https://github.com/androidx/constraintlayout/wiki/ViewTransition

Slide 62

Slide 62 text

ViewTransition

Slide 63

Slide 63 text

63 02 Android Studio Arctic Fox 01 Android Studio 4.2 03 Android Studio Bumblebee 04 Design Tools 05 Summary

Slide 64

Slide 64 text

64 Compose preview Live literals Compose animation preview Layout validation Layout inspector Accessibility test framework scanner Animated vector drawable preview Design Devices Productivity Android 12 emulator system WearOS paring Heart rate sensor Rollable & foldable emulator Google TV System images Emulator USB passthrough Rotary Controls Wireless ADB Android 12 lint checks Kotlin Coroutines debugger Snapshots for test failures Work manager inspector Test matrix Kotlin symbol processing Incremental gradle support for Kotlin Intellij 2020.3.1 android studio

Slide 65

Slide 65 text

Thank you! developer.android.com/studio/ preview/features#2021.1.1 developer.android.com/studio/ preview/features#2020.3.1 developer.android.com/studio/ releases#4-2-0 Resources HyeonSeok Noh @pluulove