Flutter: ๋„ˆ๋ฌด ์ž์ฃผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ํ”Œ๋Ÿฌํ„ฐ ์ฒญ์†Œํ•ด์•ผ ํ•จ

์— ๋งŒ๋“  2018๋…„ 04์›” 15์ผ  ยท  235์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: flutter/flutter

---


๋‹ค์Œ ๋ฉ”๋ชจ๋Š” 2018๋…„ 10์›” 16์ผ @tvolkert ์— ์˜ํ•ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฒ„๊ทธ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ฒฝ์šฐ

๋‹ค์Œ ์–‘์‹์„ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”!

https://goo.gl/forms/eFPT6A3jAD8clU4o2 (์ด ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ์ •๋ณด ์ˆ˜์ง‘์„ ์œ„ํ•œ ์„ค๋ฌธ์กฐ์‚ฌ)

---


๋ฒˆ์‹ ๋‹จ๊ณ„

๋‚˜(๋˜๋Š” ๋‚ด ํŒ€์› ์ค‘ ํ•œ ๋ช…)๊ฐ€ AVD ๋˜๋Š” ์‹ค์ œ ์žฅ์น˜์—์„œ flutter flutter run (๋˜๋Š” IntelliJ ๋ฐ VSCode์˜ ์‹คํ–‰/๋””๋ฒ„๊ทธ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ)๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์„ค์น˜๋œ ๋ฒ„์ „์ด ํ•ญ์ƒ ์ตœ์‹  ๋ฒ„์ „ ๋’ค์— ์žˆ๊ณ  ํ•ญ์ƒ ์•ฑ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋•Œ๋กœ๋Š” flutter clean ํ•ฉ๋‹ˆ๋‹ค.
AVD์˜ ๋นŒ๋“œ / ์‹ค์ œ ์žฅ์น˜๊ฐ€ ์ถฉ๋Œ ํ•  ๋•Œ ํŠนํžˆ ๋ฌธ์ œ์ด๋ฉฐ, ์—ฌ๊ธฐ์— ์œ ์ผํ•œ ํ•ด๊ฒฐ์ฑ…์ด๋‹ค flutter clean ๋‚ด๊ฐ€ ์‹คํ–‰์ค‘์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ค‘์ง€ ํ•  ๊ฒฝ์šฐ์—๋„, flutter run ๋‹ค์‹œ.

ํ”„๋กœ๋•์…˜ APK๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์„ค์น˜ํ•  ๋•Œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.
flutter build ๋ฐ flutter install ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์„ค์น˜๋œ APK๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
flutter clean์„ ์‹คํ–‰ํ•˜๊ณ  ๋‹ค์Œ์— ๋‹ค์‹œ flutter build ๋ฐ flutter install ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์„ค์น˜๋œ APK๊ฐ€ ์ตœ์‹  ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌํ„ฐ ๋‹ฅํ„ฐ:

[โˆš] Flutter (Channel beta, v0.2.8, on Microsoft Windows [Versione 10.0.17133.73], locale it-IT)
    โ€ข Flutter version 0.2.8 at C:\Users\Edoardo Debenedetti\flutter
    โ€ข Framework revision b397406561 (13 days ago), 2018-04-02 13:53:20 -0700
    โ€ข Engine revision c903c217a1
    โ€ข Dart version 2.0.0-dev.43.0.flutter-52afcba357

[โˆš] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    โ€ข Android SDK at C:\Users\Edoardo Debenedetti\AppData\Local\Android\sdk
    โ€ข Android NDK location not configured (optional; useful for native profiling support)
    โ€ข Platform android-27, build-tools 27.0.3
    โ€ข Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    โ€ข All Android licenses accepted.

[โˆš] Android Studio (version 3.1)
    โ€ข Android Studio at C:\Program Files\Android\Android Studio
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[โˆš] IntelliJ IDEA Ultimate Edition (version 2018.1)
    โ€ข IntelliJ at C:\Users\Edoardo Debenedetti\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\181.4203.550
    โ€ข Flutter plugin version 23.1.3
    โ€ข Dart plugin version 181.4203.498

[โˆš] VS Code, 64-bit edition (version 1.22.2)
    โ€ข VS Code at C:\Program Files\Microsoft VS Code
    โ€ข Dart Code extension version 2.11.2

[โˆš] Connected devices (2 available)
    โ€ข PRA LX1                   โ€ข 57UDU17111026756 โ€ข android-arm64 โ€ข Android 7.0 (API 24)
    โ€ข Android SDK built for x86 โ€ข emulator-5554    โ€ข android-x86   โ€ข Android 8.1.0 (API 27) (emulator)

โ€ข No issues found!
annoyance crowd regression gradle hot reload xcode tool

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

ํ˜„์žฌ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋กœ๋“œํ•˜๋ฉด ์ตœ์‹  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋˜์ง€๋งŒ ์ฝœ๋“œ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด ์ด์ „ ๋ฒ„์ „๋งŒ ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  235 ๋Œ“๊ธ€

์ด๊ฒƒ ๋ฟ๋งŒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด Android Studio ๋””๋ฒ„๊ทธ์— ๋ฐ˜์˜๋˜๊ธฐ ์ „์— ๊ฒ‰๋ณด๊ธฐ์— ๋ชจ๋“  ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ 'ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ'ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์‹ค๋ง์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

[โˆš] Flutter (Channel master, v0.3.6-pre.43, on Microsoft Windows [Version 10.0.16299.371], locale en-US)
    โ€ข Flutter version 0.3.6-pre.43 at E:\flutter
    โ€ข Framework revision 32d1f0a80a (17 hours ago), 2018-04-27 13:34:50 -0700
    โ€ข Engine revision e11905c6e5
    โ€ข Dart version 2.0.0-dev.50.0.flutter-8d4074175f

[โˆš] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    โ€ข Android SDK at C:\Users\jens\AppData\Local\Android\sdk
    โ€ข Android NDK location not configured (optional; useful for native profiling support)
    โ€ข Platform android-27, build-tools 27.0.3
    โ€ข Java binary at: E:\Program Files\Android\Android Studio\jre\bin\java
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    โ€ข All Android licenses accepted.

[โˆš] Android Studio (version 3.1)
    โ€ข Android Studio at E:\Program Files\Android\Android Studio
    โ€ข Flutter plugin version 24.0.1
    โ€ข Dart plugin version 173.4700
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[โˆš] IntelliJ IDEA Community Edition (version 2018.1)
    โ€ข IntelliJ at E:\Program Files\JetBrains\IntelliJ IDEA Community Edition 181.4203.6
    โ€ข Flutter plugin version 22.2.3
    โ€ข Dart plugin version 181.4096.12

[โˆš] VS Code, 64-bit edition (version 1.22.2)
    โ€ข VS Code at C:\Program Files\Microsoft VS Code
    โ€ข Dart Code extension version 2.11.2

[โˆš] Connected devices (1 available)
    โ€ข Android SDK built for x86 โ€ข emulator-5554 โ€ข android-x86 โ€ข Android 7.1.1 (API 25) (emulator)

โ€ข No issues found!

ํ˜„์žฌ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋กœ๋“œํ•˜๋ฉด ์ตœ์‹  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋˜์ง€๋งŒ ์ฝœ๋“œ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด ์ด์ „ ๋ฒ„์ „๋งŒ ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

+1 ์—ฌ๊ธฐ์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ  ์‹ค์ œ๋กœ ๋‚˜๋ฅผ ์œ„ํ•ด ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ๋„ ๋•Œ๋•Œ๋กœ ๋„์›€์ด ๋˜์ง€ ์•Š์œผ๋ฉฐ ์•ฑ์„ ์ˆ˜๋™์œผ๋กœ ์‚ญ์ œํ•œ ๋‹ค์Œ ๋‹ค์‹œ ๋นŒ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ •๋ง ์งœ์ฆ๋‚˜๊ณ  ๋‹ต๋‹ตํ•ฉ๋‹ˆ๋‹ค.. :(

Flutter์—์„œ๋„ ๋™์ผํ•œ ๊ฒฝํ—˜์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ด€๋ จ ์—†์Œ: ์žฌ๋ฏธ์žˆ๋Š” ์ ์€ ์ˆœ์ˆ˜ Android ๊ฐœ๋ฐœ์—์„œ๋„ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋””๋ฒ„๊น… ํ›„ ์•ฑ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด Android์˜ Instant Run๋„ ์ด์ „ ๋ฒ„์ „์„ ๋‚จ๊ฒผ์Šต๋‹ˆ๋‹ค.

@sethladd ์šฐ์„ ์ ์œผ๋กœ ์ด ๋ฌธ์ œ๋ฅผ ๋„์™€์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋ฉ”์ด์ € ํ”„๋กœ๊ฐ€ ๋ฉ”์ด์ € ์ฝ˜์ด ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค :(

์ „์ ์œผ๋กœ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ค‘๋Œ€ํ•œ ํšŒ๊ท€์ž…๋‹ˆ๋‹ค. ์–ผ๋งˆ ์ „ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์—์„œ Flutter ๋„๊ตฌ๊ฐ€ Xamarin์— ๋น„ํ•ด ์ž‘๋™ํ•œ ๊ฒƒ์— ๋Œ€ํ•ด ์–ผ๋งˆ๋‚˜ ๊ธฐ๋ปค๋Š”์ง€ ์ผ์ง€๋งŒ ์ง€๊ธˆ์€ ๊ฑฐ์˜ ๋” ๋‚˜๋น ์กŒ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ฐœ๋ฐœ ๋ฐ ๋งˆ์Šคํ„ฐ ๋ถ„๊ธฐ์—์„œ ํ•ซ ๋ฆฌ๋กœ๋“œ๊ฐ€ ๋„ˆ๋ฌด ์ž์ฃผ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋„ˆ๋ฌด ๋‹ต๋‹ตํ•ฉ๋‹ˆ๋‹ค. Android Studio ๋””๋ฒ„๊ทธ ๋ฒ„ํŠผ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ฝ”๋“œ์˜ ์ตœ๊ทผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์กด์ค‘ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Android Studio์—์„œ ํ•ซ ๋ฆฌ๋กœ๋“œ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„ 'ํ”Œ๋Ÿฌํ„ฐ ์‹คํ–‰'์„ ์‹คํ–‰ํ•˜๋ฉด ํ•ซ ๋ฆฌ๋กœ๋“œ๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ๋ฌผ๋ก  ๋””๋ฒ„๊น… ๋„๊ตฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

'flutter run' ๋ช…๋ น์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์€ ๋ถ„๋ช…ํžˆ Android Studio ์•„์ด์ฝ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ์ฝ”๋“œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋”์ฐํ•œ ๋ชจ๋“  ์‹คํ–‰์„ ํ”Œ๋Ÿฌํ„ฐ ์ฒญ์†Œํ•ด์•ผ ํ•˜๋Š” ๋””๋ฒ„๊น… ์ง€์ ์ž…๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ: ์ด ๋ฌธ์ œ๋Š” ๋””๋ฒ„๊น…์— ๊ตญํ•œ๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. Android Studio์˜ '์‹คํ–‰' ์•„์ด์ฝ˜์„ ์‚ฌ์šฉํ•˜๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ์™€ ๊ฐ™์ด ๋น ๋ฅด๋ฉฐ ์ตœ๊ทผ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์กด์ค‘ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ๋กœ ๋””๋ฒ„๊ทธ๋ฅผ ์‹œ๋„ํ•˜๋ ค๋ฉด ์ตœ๊ทผ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์กด์ค‘ํ•˜๊ธฐ ์œ„ํ•ด ํ•ญ์ƒ ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

[โˆš] Flutter (Channel master, v0.3.6-pre.43, on Microsoft Windows [Version 10.0.16299.371], locale en-US)
    โ€ข Flutter version 0.3.6-pre.43 at E:\flutter
    โ€ข Framework revision 32d1f0a80a (7 days ago), 2018-04-27 13:34:50 -0700
    โ€ข Engine revision e11905c6e5
    โ€ข Dart version 2.0.0-dev.50.0.flutter-8d4074175f

[โˆš] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    โ€ข Android SDK at C:\Users\jens\AppData\Local\Android\sdk
    โ€ข Android NDK location not configured (optional; useful for native profiling support)
    โ€ข Platform android-27, build-tools 27.0.3
    โ€ข Java binary at: E:\Program Files\Android\Android Studio\jre\bin\java
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    โ€ข All Android licenses accepted.

[โˆš] Android Studio (version 3.1)
    โ€ข Android Studio at E:\Program Files\Android\Android Studio
    โ€ข Flutter plugin version 24.0.1
    โ€ข Dart plugin version 173.4700
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[โˆš] IntelliJ IDEA Community Edition (version 2018.1)
    โ€ข IntelliJ at E:\Program Files\JetBrains\IntelliJ IDEA Community Edition 181.4203.6
    โ€ข Flutter plugin version 22.2.3
    โ€ข Dart plugin version 181.4096.12

[โˆš] VS Code, 64-bit edition (version 1.22.2)
    โ€ข VS Code at C:\Program Files\Microsoft VS Code
    โ€ข Dart Code extension version 2.11.2

[โˆš] Connected devices (1 available)
    โ€ข Android SDK built for x86 โ€ข emulator-5554 โ€ข android-x86 โ€ข Android 7.1.1 (API 25) (emulator)

โ€ข No issues found!

@cbracken @tvolkert ๋Š” ๋‚˜์œ ํšŒ๊ท€์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค. ์–ด๋–ค ์•„์ด๋””์–ด?

@cbracken ์ด๊ฒƒ์ด ํ•‘๊ฑฐํ”„๋ฆฐํŒ… ๋ฐ ๋นŒ๋“œ ์ฝ”๋“œ ๊ฒฝ๋กœ ๋‹จ์ˆœํ™” ์ž‘์—…๊ณผ ๊ด€๋ จ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์œˆ๋„์šฐ ๋ฌธ์ œ ์•„๋‹๊นŒ์š”? ์ €๋„ ์œˆ๋„์šฐ์—์š”. ๋Œ€๋ถ€๋ถ„์˜ ๊ฐœ๋ฐœ์ž๋Š” Mac์—์„œ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์œผ๋ฏ€๋กœ ์ด๊ฒƒ์ด ๋” ์ผ์ฐ ๋‚˜์˜ค์ง€ ์•Š์€ ์ด์œ ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ์ถ”์ธก

mac btw์—์„œ์ด ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2018๋…„ 5์›” 4์ผ ๊ธˆ์š”์ผ ์˜คํ›„ 8์‹œ 6๋ถ„์— escamoteur [email protected]์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

์œˆ๋„์šฐ ๋ฌธ์ œ ์•„๋‹๊นŒ์š”? ์ €๋„ ์œˆ๋„์šฐ์—์š”. ๋Œ€๋ถ€๋ถ„์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
Mac์—์„œ๋Š” ์ด๊ฒƒ์ด ๋” ์ผ์ฐ ๋‚˜์˜ค์ง€ ์•Š์€ ์ด์œ ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ƒฅ
์ถ”์ธกํ•˜๋‹ค

โ€”
๋‹น์‹ ์ด ๋Œ“๊ธ€์„ ๋‹ฌ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/flutter/flutter/issues/16604#issuecomment-386621398 ,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AMCONM-6r56bzBF5c4kpjOkSsAyexeO_ks5tvGdzgaJpZM4TVhip
.

๋ฐฉ๊ธˆ @cbracken ๊ณผ ์ฑ„ํŒ…ํ–ˆ์Šต๋‹ˆ๋‹ค - 3์ผ ์ „ https://github.com/flutter/flutter/pull/17175 ์—์„œ ๋งˆ์Šคํ„ฐ์—์„œ ์ˆ˜์ •๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค.

@ratsey flutter upgrade ์ธ ๊ฒฝ์šฐ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 752906498ae9961008e9336a1c88aa14f8ac068f ์ดํ›„ ์ปค๋ฐ‹์— ๋™๊ธฐํ™”ํ•  ๋•Œ ์—ฌ์ „ํžˆ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

@dedeswim ์ด ์ˆ˜์ • ์‚ฌํ•ญ์€ ๋ช‡ ์ฃผ ๋™์•ˆ ๋ฒ ํƒ€ ์ฑ„๋„์— ์ ์šฉ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. flutter channel dev ํ•˜๊ฑฐ๋‚˜ flutter channel master ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋” ๋นจ๋ฆฌ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜„

@volkert 8์‹œ๊ฐ„ ์ „ ๋งˆ์Šคํ„ฐ ์ฑ„๋„์—์„œ ์˜ค๋Š˜ ํ”Œ๋Ÿฌํ„ฐ ์ž์ฒด๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œ ํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ์•„์ง ๋‚˜๋ฅผ ์œ„ํ•ด ๊ณ ์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

2018๋…„ 5์›” 4์ผ ๊ธˆ์š”์ผ ์˜คํ›„ 8:09 Todd Volkert [email protected]
์ผ๋‹ค:

@cbracken https://github.com/cbracken ๊ณผ ์ฑ„ํŒ…ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ 3์ผ ์ „ #17175์—์„œ master์— ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
https://github.com/flutter/flutter/pull/17175

@ratsey https://github.com/ratsey ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ํ”Œ๋Ÿฌํ„ฐ ๋งํ•˜๋Š” ๊ฒฝ์šฐ
์ˆ˜์ • ์‚ฌํ•ญ์„ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค. ์—ฌ์ „ํžˆ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ์ €ํฌ์—๊ฒŒ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.
7529064 ์ดํ›„ ์ปค๋ฐ‹์— ๋™๊ธฐํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
https://github.com/flutter/flutter/commit/752906498ae9961008e9336a1c88aa14f8ac068f

@dedeswim https://github.com/dedeswim ์ด ์ˆ˜์ • ์‚ฌํ•ญ์€ ๋ฒ ํƒ€ ๋ฒ„์ „์— ํฌํ•จ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ช‡ ์ฃผ ๋™์•ˆ ์ฑ„๋„. ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋” ๋นจ๋ฆฌ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ฑ„๋„ ๊ฐœ๋ฐœ ๋˜๋Š” Flutter ์ฑ„๋„ ๋งˆ์Šคํ„ฐ๋กœ ๋ฐ”๋กœ ๐Ÿ˜„

โ€”
๋‹น์‹ ์ด ๋Œ“๊ธ€์„ ๋‹ฌ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/flutter/flutter/issues/16604#issuecomment-386622251 ,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AMCONJCY9QCtdFuMdaU2xTt6fFPvVQpcks5tvGgkgaJpZM4TVhip
.

@iampawan ์ข‹์€ ์ •๋ณด - ์˜ค๋Š˜ ํ™•์‹คํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Android ๋””๋ฒ„๊ทธ ๋นŒ๋“œ์— ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ, ๋””๋ฒ„๊ทธ ๋นŒ๋“œ๋งŒ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ios ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๊ณ  ์‹ฌ์ง€์–ด
ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ์€ ์ €์—๊ฒŒ ํšจ๊ณผ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์•ฑ์„ ์‚ญ์ œํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ
๋‚ด๊ฐ€ ์•Œ์•„ ์ฐจ๋ฆฐ ๋˜ ๋‹ค๋ฅธ ๊ฒƒ์€ ๋‚ด ์•ฑ์„ 2-3 ๋ฒˆ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•˜๋ฉด
๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค .. ์—ฌ์ „ํžˆ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด์ง€๋งŒ ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
ํ•ซ ๋ฆฌ๋กœ๋“œ ์ค‘์— ์•ฑ์ด ๋ฉˆ์ถœ ๋•Œ

2018๋…„ 5์›” 4์ผ ๊ธˆ์š”์ผ ์˜คํ›„ 8์‹œ 15๋ถ„, Todd Volkert [email protected]
์ผ๋‹ค:

@iampawan https://github.com/iampawan ์ข‹์€ ์ •๋ณด - ์šฐ๋ฆฌ๋Š” ํ™•์‹คํžˆ
์˜ค๋Š˜ ๋ด. ์ด๊ฒƒ์€ Android ๋””๋ฒ„๊ทธ ๋นŒ๋“œ์— ์žˆ์Šต๋‹ˆ๊นŒ?

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/flutter/flutter/issues/16604#issuecomment-386624223 ,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AMCONNxuo-c8uFwQkrw0C1BBXMqAGcd4ks5tvGmhgaJpZM4TVhip
.

์ด๋Ÿฌํ•œ ์ผ์ด ๋ฐœ์ƒํ•˜๋Š” ํŒจํ„ด์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๊ฒฝ์šฐ(Windows์™€ MacOS ๋ชจ๋‘์—์„œ ๋ณด๊ณ ๋œ ์ดํ›„ OS๊ฐ€ ์ด๋ฏธ ๋ฐฐ์ œ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋“ค๋ฆผ) ํŒ”๋กœ์šฐํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ๋น ๋ฅธ ์„ค๋ฌธ์กฐ์‚ฌ: ๋‹ค์Œ ์ค‘ ๊ท€ํ•˜์—๊ฒŒ ํ•ด๋‹น๋˜๋Š” ์‚ฌํ•ญ:

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๋Œ€ iOS
  • ๋ฌผ๋ฆฌ์  ์žฅ์น˜ ๋Œ€ ์—๋ฎฌ๋ ˆ์ดํ„ฐ/์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ
  • ๋””๋ฒ„๊ทธ, ํ”„๋กœํ•„ ๋˜๋Š” ๋ฆด๋ฆฌ์Šค ๋นŒ๋“œ
  • ์•ˆ๋“œ๋กœ์ด๋“œ ๋นŒ๋“œ
  • ์œˆ๋„์šฐ ๋จธ์‹ 
  • ์—๋ฎฌ๋ ˆ์ดํ„ฐ. & ์žฅ์น˜
  • ์˜ค๋Š˜ ์•„์นจ์— ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋””๋ฒ„๊ทธ๋งŒ ์•„์ง ํ…Œ์ŠคํŠธ๋จ

๋” ์ด์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝํ•˜๊ณ  Instant Reload๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. Flutter clean ์—†์ด ์•ฑ์„ ์ข…๋ฃŒํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด ์ด์ „ ๋ฒ„์ „์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

  1. Android์™€ iOS ๋ชจ๋‘ .. ๋ฐฉ๊ธˆ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.
  2. ๋ฌผ๋ฆฌ์  ๋ฐ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์žฅ์น˜
  3. ๋‚˜๋Š” ๋””๋ฒ„๊ทธ ๋งŒ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค
  4. ๋‚˜๋ฅผ ์œ„ํ•ด ๊ทธ๊ฒƒ์€ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ๋œ ๋ฐœ์ƒํ•˜์ง€๋งŒ vscode๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋” ๋งŽ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค (
    ๋‚ด๊ฐ€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์€ ๊ด€๋ จ์ด ์—†์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค)

2018๋…„ 5์›” 4์ผ ๊ธˆ์š”์ผ ์˜คํ›„ 8:20 Todd Volkert [email protected]
์ผ๋‹ค:

ํŒจํ„ด์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๊ฒฝ์šฐ ํŒ”๋กœ์šฐํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ๋น ๋ฅธ ์„ค๋ฌธ์กฐ์‚ฌ
์ด๊ฒƒ์ด ์ผ์–ด๋‚˜๋Š” ๊ณณ (OS๊ฐ€ ์ด๋ฏธ ์šฐ๋ฆฌ๊ฐ€
Windows ๋ฐ MacOS ๋ชจ๋‘์˜ ๋ณด๊ณ ์„œ๊ฐ€ ์žˆ์Œ): ๋‹ค์Œ ์ค‘ ์ ์šฉ๋˜๋Š” ํ•ญ๋ชฉ
๋„ˆ:

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๋Œ€ iOS
  • ๋ฌผ๋ฆฌ์  ์žฅ์น˜ ๋Œ€ ์—๋ฎฌ๋ ˆ์ดํ„ฐ/์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ
  • ๋””๋ฒ„๊ทธ, ํ”„๋กœํ•„ ๋˜๋Š” ๋ฆด๋ฆฌ์Šค ๋นŒ๋“œ

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/flutter/flutter/issues/16604#issuecomment-386625760 ,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AMCONP1SMbNrtH7hn11XZOR7SVxFyTtaks5tvGrRgaJpZM4TVhip
.

๋” ์ด์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝํ•˜๊ณ  Instant Reload๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. Flutter clean ์—†์ด ์•ฑ์„ ์ข…๋ฃŒํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด ์ด์ „ ๋ฒ„์ „์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์•ฑ์˜ ์ปค๋„ ํŒŒ์ผ( build/app.dill )์„ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ์•ฑ ์‹คํ–‰์€ ์ปค๋„ ํŒŒ์ผ์„ ๋นŒ๋“œํ•˜๊ณ  ์ด ํŒŒ์ผ์—์„œ ์•ฑ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ํ•ซ ๋ฆฌ๋กœ๋“œ๋Š” ๋ชจ๋“  ์•ฑ(์ปค๋„) ์†Œ์Šค๋ฅผ ์žฅ์น˜ devfs ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ฉ”๋ชจ๋ฆฌ์— ์ฑ„์šฐ๊ณ  ๊ฑฐ๊ธฐ์—์„œ ๋‹ค์‹œ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ํ›„์† ์žฌ๋กœ๋“œ๋Š” ํŒŒ์ผ ๋ธํƒ€๋ฅผ ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์ฑ„์›๋‹ˆ๋‹ค.

/cc @aam

17175๋Š” ํ”„๋กœํ•„/๋ฆด๋ฆฌ์Šค ๋นŒ๋“œ์— ๋Œ€ํ•œ ๋ฌดํšจํ™” ๋ฌธ์ œ๋งŒ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋””๋ฒ„๊ทธ ๋นŒ๋“œ๋Š” ๋‹ค๋ฅธ ์ฝ”๋“œ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ช…๋ น์ค„ ๋„๊ตฌ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์Šคํ„ฐ์—์„œ iOS ๋””๋ฒ„๊ทธ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐค๋Ÿฌ๋ฆฌ ๋ฐ๋ชจ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ๋ณ€๊ฒฝ์œผ๋กœ ์ด ๋ฒ„๊ทธ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐ๋ชฌ์„ ์‚ฌ์šฉํ•˜๋Š” IDE๋ฅผ ์‚ดํŽด๋ณด๊ณ  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ๋•Œ๊นŒ์ง€ ๊ณ„์† ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

@iampawan @escamoteur ์ฝ”๋“œ ๋ณ€๊ฒฝ์ด๋‚˜ ์ž์‚ฐ ๋ณ€๊ฒฝ(๋˜๋Š” ๋‘˜ ๋‹ค)์œผ๋กœ ์ธํ•ด ๋‚˜์œ ๋™์ž‘์„ ๋ณด์…จ๋‚˜์š”?

์ฝ”๋“œ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ๋‚˜์œ ๋™์ž‘์ด ๋ฐœ์ƒํ–ˆ๊ฑฐ๋‚˜ ...

์ฝ”๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด Dart ์ฝ”๋“œ์ž…๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด Java/ObjC ์ฝ”๋“œ์ž…๋‹ˆ๊นŒ?

๋˜ํ•œ ๋ช…๋ น์ค„์—์„œ ๋˜๋Š” ํ•ญ์ƒ IDE์—์„œ ์ด๊ฒƒ์„ ์žฌํ˜„ํ•œ ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

IJ๋‚˜ ๋ช…๋ น์ค„(๋ฌผ๋ฆฌ์  Android ์žฅ์น˜์—์„œ)์—์„œ ์ด๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
Flutter Gallery๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ๊ฐ„๋‹จํ•œ ๋ณ€๊ฒฝ(lib/gallery/app.dart:128 'Flutter Gallery' -> 'Updated Flutter Gallery'), ํ•ซ-๋ฆฌ๋กœ๋“œ, ๋ณ€๊ฒฝ ์‚ฌํ•ญ ํ™•์ธ(์•ฑ ๋ณ€๊ฒฝ ์ œ๋ชฉ), ์•ฑ์„ ์ค‘์ง€ํ•˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•ด๋„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ Flutter IJ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ 24.0.1, Flutter์˜ master ๋ถ„๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค.

Flutter 0.3.6-pre.113 โ€ข channel master โ€ข [email protected]:aam/flutter.git Framework โ€ข revision d820e5f3b1 (12 hours ago) โ€ข 2018-05-03 22:27:29 -0700 Engine โ€ข revision e976be13c5 Tools โ€ข Dart 2.0.0-dev.53.0.flutter-e6d7d67f4b

@devoncarew๊ฐ€ ์“ด

์•ฑ์šฉ ์ปค๋„ ํŒŒ์ผ(build/app.dill)์„ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์— ์•ฑ์„ ์‹œ์ž‘ํ•  ๋•Œ ์†Œ์Šค๊ฐ€ ๋”œ ํŒŒ์ผ๋ณด๋‹ค ์ตœ์‹ ์ด๊ธฐ ๋•Œ๋ฌธ์— build/app.dill ๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@cbracken ์€ ์•„์ง Dart ์ฝ”๋“œ ๋ณ€๊ฒฝ๋งŒ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋„์›€์„ ๋“œ๋ฆด ์ˆ˜ ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.
๋Šฆ์–ด์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค๋งŒ ์‹œ๊ฐ„๋Œ€๊ฐ€ ์žˆ์–ด์„œ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๋ฉด VS ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@escamoteur ๋กœ๊ทธ ํŒŒ์ผ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ flutter ์‹คํ–‰ ์ธ์ˆ˜๋กœ flutter -v run ... ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋” ์ž์„ธํ•œ ์ถœ๋ ฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Android Studio์—์„œ ์ถ”๊ฐ€ ์˜ต์…˜ ํ•„๋“œ์— โ€”verbose ๋ฅผ ์ง€์ •ํ•˜๋„๋ก ์‹คํ–‰ ๊ตฌ์„ฑ์„ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋กœ๊ทธ๋Š” flutter clean
Afterflutterclean.txt

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ฌด์–ธ๊ฐ€๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

Afterchange.txt

๊ทธ๋Ÿฐ ๋‹ค์Œ flutter clean

์• ํ”„ํ„ฐํ”Œ๋Ÿฌํ„ฐํด๋ฆฐ์• ํ”„ํ„ฐ์ฒด์ธ์ง€.txt

์ „์ฒด ํ”„๋กœ์ ํŠธ๋ฅผ ์••์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•ฑ์˜ ๋ฒ„ํŠผ์€ ๋ณ€๊ฒฝ ํ›„ ํŒŒ๋ž€์ƒ‰์ด์–ด์•ผ ํ•˜์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
zip ํŒŒ์ผ์—์„œ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

https://drive.google.com/open?id=1r2lQPVW3TgJpK4RH_kyrRXyePIyw7_UY

PS C:\Entwicklung\BlogTwo way binding in Flutter\two_way_binding> flutter -v Doctor
[โˆš] Flutter(์ฑ„๋„ ๋งˆ์Šคํ„ฐ, v0.3.7-pre.9, Microsoft Windows [๋ฒ„์ „ 10.0.17134.1], de-DE ๋กœ์ผ€์ผ)
โ€ข C:\Entwicklung\Flutter์˜ Flutter ๋ฒ„์ „ 0.3.7-pre.9
โ€ข ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ์ •ํŒ b2b4665926(19์‹œ๊ฐ„ ์ „), 2018-05-04 18:17:35 -0700
โ€ข ์—”์ง„ ๊ฐœ์ •ํŒ e976be13c5
โ€ข Dart ๋ฒ„์ „ 2.0.0-dev.53.0.flutter-e6d7d67f4b

[โˆš] Android ํˆด์ฒด์ธ - Android ๊ธฐ๊ธฐ์šฉ ๊ฐœ๋ฐœ(Android SDK 27.0.3)
โ€ข C:\Users\escam\AppData\Local\Android\sdk์˜ Android SDK
โ€ข Android NDK ์œ„์น˜๊ฐ€ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์Œ(์„ ํƒ ์‚ฌํ•ญ, ๊ธฐ๋ณธ ํ”„๋กœํŒŒ์ผ๋ง ์ง€์›์— ์œ ์šฉ)
โ€ข ํ”Œ๋žซํผ android-27, ๋นŒ๋“œ ๋„๊ตฌ 27.0.3
โ€ข Java ๋ฐ”์ด๋„ˆ๋ฆฌ: C:\Program Files\Android\Android Studio\jrebin\java
โ€ข Java ๋ฒ„์ „ OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(๋นŒ๋“œ 1.8.0_152-release-1024-b02)
โ€ข ๋ชจ๋“  Android ๋ผ์ด์„ ์Šค๊ฐ€ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

[โˆš] ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค(๋ฒ„์ „ 3.1)
โ€ข C:\Program Files\Android\Android Studio์˜ Android ์ŠคํŠœ๋””์˜ค
โ€ข Flutter ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„์ „ 23.2.2
โ€ข Dart ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„์ „ 173.4700
โ€ข Java ๋ฒ„์ „ OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(๋นŒ๋“œ 1.8.0_152-release-1024-b02)

[โˆš] VS Code, 32๋น„ํŠธ ์—๋””์…˜(๋ฒ„์ „ 1.22.2)
โ€ข C:\Program Files (x86)\Microsoft VS Code์˜ VS ์ฝ”๋“œ
โ€ข Dart ์ฝ”๋“œ ํ™•์žฅ ๋ฒ„์ „ 2.12.1

[โˆš] ์—ฐ๊ฒฐ๋œ ์žฅ์น˜(1๊ฐœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
โ€ข x86์šฉ์œผ๋กœ ๋นŒ๋“œ๋œ Android SDK โ€ข emulator-5554 โ€ข android-x86 โ€ข Android 6.0(API 23)(์—๋ฎฌ๋ ˆ์ดํ„ฐ)

โ€ข ๋ฐœ๊ฒฌ๋œ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค!

๋ถˆํ–‰ํžˆ๋„ ๋‚˜๋Š” ํ™”์š”์ผ๊นŒ์ง€ ๊ธธ์„ ๋– ๋‚  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ตœ์†Œ SDK ๋ฐ SDK ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ–ˆ๊ณ  ๋‚ด Flutter๋Š” @escamoteur ์˜ zip์ด ๋‚ด ์„ค์ •์—์„œ ์‹คํ–‰๋˜๋„๋ก ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•ซ ๋ฆฌ๋กœ๋“œ๋กœ ๋””๋ฒ„๊ทธ์—์„œ ๋ฒ„ํŠผ ์ƒ‰์ƒ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋””๋ฒ„๊ทธ ์‹คํ–‰ ์‚ฌ์ด์— ์ƒ‰์ƒ๋„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๋ก  - @escamoteur ์˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ €๋ฅผ ์œ„ํ•ด ์ผํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜ ์ €๋… ์ด Flutter ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ํ†ตํ•ด ๋‚ด ์ฝ”๋“œ๋กœ ๋‹ค์‹œ ์‹œ๋„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋กœ๊ทธ๋ฅผ ํ†ตํ•ด ํ†ต์ฐฐ๋ ฅ์ด ์žˆ์Šต๋‹ˆ๊นŒ? @cbracken

@cbracken @tvolkert ์ตœ์‹  ํ”Œ๋Ÿฌํ„ฐ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์˜ค๋Š˜ vscode๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ๋ฉˆ์ถค ํ˜„์ƒ์ด ์ฆ๊ฐ€ํ–ˆ์ง€๋งŒ ์•ฑ์˜ ์ตœ์‹  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ด์ œ ์ด์ „์ด ์•„๋‹Œ ๊ฒƒ์„ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•ฑ์ด ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋™์•ˆ ๋ฉˆ์ถค ์ƒํƒœ ์ €์žฅ ํด๋ž˜์Šค์—์„œ ํ•ซ ๋ฆฌ๋กœ๋“œ์— ํ„ฐ๋ฏธ๋„์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋œ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ตœ์‹  ํ”Œ๋Ÿฌํ„ฐ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์˜ค๋Š˜ vscode๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ์ •์ง€ ํ˜„์ƒ์ด ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์€ Windows์— ์žˆ์Šต๋‹ˆ๊นŒ? 4์›” ์—…๋ฐ์ดํŠธ์— Chrome ๊ธฐ๋ฐ˜ ์•ฑ์„ ๋ฉˆ์ถ”๊ฒŒ ํ•˜๋Š” ์ฃผ์š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

https://www.engadget.com/2018/05/03/microsoft-windows-10-chrome-cortana-freeze-fix/

์•„๋‹ˆ์š”, Macosx ์ตœ์‹  ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2018๋…„ 5์›” 8์ผ ํ™”์š”์ผ ์˜คํ›„ 5์‹œ 51๋ถ„ Danny Tuppeny [email protected]์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ตœ์‹  ํ”Œ๋Ÿฌํ„ฐ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์˜ค๋Š˜ ํ”„๋ฆฌ์ฆˆ ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
vscode๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ์ฆ๊ฐ€

๋‹น์‹ ์€ Windows์— ์žˆ์Šต๋‹ˆ๊นŒ? 4์›” ์—…๋ฐ์ดํŠธ์— ํฐ ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
Chrome ๊ธฐ๋ฐ˜ ์•ฑ์—์„œ ๋ฉˆ์ถค ํ˜„์ƒ:

https://www.engadget.com/2018/05/03/microsoft-windows-10-chrome-cortana-freeze-fix/

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/flutter/flutter/issues/16604#issuecomment-387383846 ,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AMCONDF0oDTkjXNK1ZasxOD9jVuZP8TSks5twY3KgaJpZM4TVhip
.

์ข‹์•„, ๊ทธ๋Ÿผ. "์•ฑ์ด ๋ฉˆ์ถ˜๋‹ค"๋Š” ๊ฒƒ์€ ๊ธฐ๊ธฐ์˜ ๋ชจ๋ฐ”์ผ ์•ฑ(๋˜๋Š” VS Code ์•ฑ)์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ? ์žฌ๊ฑดํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๊ณผ๋Š” ๋‹ค๋ฅธ ๋ฌธ์ œ์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ์—ด์–ด๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. VS Code๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ •์ง€๋˜๋Š” ๊ธฐ๊ฐ„ ๋™์•ˆ Flutter Run ๋ฐ Observatory ๋กœ๊ทธ ํŒŒ์ผ์„ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@DanTup ์—ฌ๊ธฐ Step1์—์„œ ํ•˜๋‹จ Appbar ์ƒ‰์ƒ์„ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ 'Hot reload ์ˆ˜ํ–‰' ์•Œ๋ฆผ์ด 5์ดˆ ์ด์ƒ ๊ฑธ๋ฆด ๋•Œ ์•ฑ์ด ์ •์ง€๋ฉ๋‹ˆ๋‹ค. ์ด์ œ 2๋‹จ๊ณ„๋Š” ์•ฑ์„ ๋‹ค์‹œ ๋นŒ๋“œํ•  ๋•Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์‚ฌ๋ผ์ง€๊ณ  ์ผ๋ถ€ ๋ณ€๊ฒฝ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ํ•ซ ๋ฆฌ๋กœ๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ์ด์ œ ํ•ซ ๋ฆฌ๋กœ๋”ฉ์„ 3~4ํšŒ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋‹ค์‹œ ์•ฑ์ด ์ •์ง€๋ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ํŒŒ์ผ์€ ์ฒจ๋ถ€ ๋œ
step1
step2
์ „๋ง๋Œ€.txt

@iampawan ์ด๊ฒƒ์€ ๋‹ค๋ฅธ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์žฌ๊ฑดํ•˜์ง€ ์•Š์•„์•ผ ํ•  ๋•Œ ๋ฌธ์ œ์™€ ํ˜ผ๋™๋˜๋Š” ๊ฒƒ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ์—ด โ€‹โ€‹์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋˜ํ•œ, Flutter Run ๋กœ๊ทธ์™€ Observatory ๋กœ๊ทธ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ํ•ซ ๋ฆฌ๋กœ๋”ฉ์— ๋Œ€ํ•œ ์ง€์นจ์ด ํฌํ•จ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”!

@iampawan ํ•ด๋‹น ๋กœ๊ทธ์—๋Š” ํ•ซ ๋ฆฌ๋กœ๋“œ์— ๋Œ€ํ•œ ์š”์ฒญ์ด ํฌํ•จ๋˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ์ค„์€ ์•ฑ ์‹คํ–‰์ด ์™„๋ฃŒ๋  ๋•Œ์ž…๋‹ˆ๋‹ค. ๋‹ค์‹œ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ƒˆ ๋ฌธ์ œ์— ์ฒจ๋ถ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ซ ๋ฆฌ๋กœ๋”ฉ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์•ฑ์„ ๋‹ค์‹œ ๋นŒ๋“œ/๋ฐฐํฌํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ฉฐ ๋™์ผํ•œ ๋ฌธ์ œ์—์„œ ๋ณ‘๋ ฌ ๋Œ€ํ™”๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์ด ์•ฝ๊ฐ„ ํ˜ผ๋ž€์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

@DanTup ์ข‹์•„, ๋‚˜๋Š” ๋‚ด์ผ ์ด๊ฒƒ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ์—ด๊ฒ ์ง€๋งŒ, ๋‹น๋ถ„๊ฐ„์€ ๋‚ด๊ฐ€ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋กœ๊ทธ ํŒŒ์ผ(์—…๋ฐ์ดํŠธ๋œ ํŒŒ์ผ)์„ ์•Œ๋ ค ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ๋น„๋””์˜ค๋ฅผ ๋งŒ๋“œ๋Š” ๋™์•ˆ( https://youtu.be/q-GtMerSNuY) , ๋” ๋งŽ์€ ์ดํ•ด๋ฅผ ์œ„ํ•ด ๋ ๋ถ€๋ถ„์„ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๊ฒฐ๊ตญ ๋ฌธ์ œ์— ์ง๋ฉดํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”
flutter_run.txt ํŒŒ์ผ์— ์˜ˆ์ƒํ•œ ๋‚ด์šฉ์ด ์—†๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ƒ์„ฑ๋œ ๋‚ด์šฉ์„ ์—…๋กœ๋“œ ์ค‘์ž…๋‹ˆ๋‹ค.

@iampawan ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋กœ๊ทธ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋‚ด๊ฐ€ ๋‘๋ ค์›Œํ•˜๋Š” ๊ฒƒ์ด ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

TimeoutException: Request to Dart VM Service timed out: _flutter.listViews({})

๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”. ์ตœ๊ทผ์— ๋‹ค๋ฅธ ๋ณด๊ณ ๋„ ๋ณธ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

@cbracken ๋‚ด ๋กœ๊ทธ๊ฐ€ ์–ด๋–ป๊ฒŒ๋“  ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?

์ด ์Šค๋ ˆ๋“œ์˜ ์›๋ž˜ ๋ฌธ์ œ์— ๋Œ€ํ•ด ํ•ซ ๋ฆฌ๋กœ๋“œ ๊ฐ€ ์ด์ œ ์‹คํ–‰ ์‚ฌ์ด์˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ๊ณ ๋ คํ•˜๋ฏ€๋กœ ์ˆ˜๋™ 'ํ”Œ๋Ÿฌํ„ฐ ์ •๋ฆฌ' ์ž‘์—…์ด ํ•„์š”ํ•˜์ง€ ์•Š์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๋Ÿฌ ๋ณ€๊ฒฝ/ํ•ซ ๋‹ค์‹œ ๋กœ๋“œ ์ž‘์—… ํ›„์— ๋””๋ฒ„๊ทธ ์‹คํ–‰์—์„œ ๋น„ ๋””๋ฒ„๊ทธ ์‹คํ–‰์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น Flutter Clean์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” ์˜ค๋Š˜(์—๋ฎฌ๋ ˆ์ดํ„ฐ์™€ ์‹ค์ œ ์žฅ์น˜ ๋ชจ๋‘์—์„œ) Windows์—์„œ ์ด ๋ฌธ์ œ๋ฅผ ๊ฒฝํ—˜ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. Flutter์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํŠœํ† ๋ฆฌ์–ผ ์ฝ”๋“œ์—์„œ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋™์•ˆ ํ•ซ ๋ฆฌ๋กœ๋“œ๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. (https://flutter.io/tutorials/animation/).

์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ์—์„œ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•˜์—ฌ ํ•ซ ๋ฆฌ๋กœ๋”ฉ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋ฆฌ์„์€ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ๊ทธ๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด C:\Dev\Flutter Apps\hello_world\animation_examples

C:\Dev\Flutter_Apps\hello_world\animation_examples

ํ”Œ๋Ÿฌํ„ฐ ๋ฐ•์‚ฌ:

[โˆš] Flutter (Channel dev, v0.5.5, on Microsoft Windows [Version 10.0.17134.112], locale en-AU)
    โ€ข Flutter version 0.5.5 at C:\Dev\flutter-sdk
    โ€ข Framework revision 020e0ef55c (12 days ago), 2018-06-14 13:17:08 -0700
    โ€ข Engine revision c3976b3c71
    โ€ข Dart version 2.0.0-dev.61.0.flutter-c95617b19c

[โˆš] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    โ€ข Android SDK at C:\Users\Jason\AppData\Local\Android\sdk
    โ€ข Android NDK location not configured (optional; useful for native profiling support)
    โ€ข Platform android-27, build-tools 27.0.3
    โ€ข Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    โ€ข All Android licenses accepted.

[โˆš] Android Studio (version 3.1)
    โ€ข Android Studio at C:\Program Files\Android\Android Studio
    โ€ข Flutter plugin version 25.0.1
    โ€ข Dart plugin version 173.4700
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[!] VS Code, 64-bit edition (version 1.24.1)
    โ€ข VS Code at C:\Program Files\Microsoft VS Code
    โ€ข Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[โˆš] Connected devices (1 available)
    โ€ข Android SDK built for x86 โ€ข emulator-5554 โ€ข android-x86 โ€ข Android 8.1.0 (API 27) (emulator)

! Doctor found issues in 1 category.

Flutter์˜ beta ๋ฐ master ๋ถ„๊ธฐ์—์„œ๋„ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์ €๋„ ์ง€๋‚œ ๋‹ฌ๋ถ€ํ„ฐ ํ”Œ๋Ÿฌํ„ฐ์™€ ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Flutter ํŒ€์—์„œ ์ด ๋ฌธ์ œ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๊ณง ์ˆ˜์ •ํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” #Flutter๋ฅผ ์‚ฌ๋ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋งŽ์€ ํŒ€์ด ์ง€๊ธˆ ๋ถ€์žฌ์ค‘์ด์ง€๋งŒ ๋‹ค์Œ ๋‹จ๊ณ„๋Š” @cbracken์ด ์œ„์˜

Flutter ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ์žˆ๋Š”๋ฐ ์•ฑ์„ ์™„์ „ํžˆ ๋‹ค์‹œ ๋นŒ๋“œํ•œ ํ›„์—๋„ ์•ฑ์ด ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š๋Š” ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. flutter run ํ•  ๋•Œ๋งˆ๋‹ค ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ฐœ์ƒํ•˜๋ ค๋ฉด ํ•ซ ์žฌ์‹œ์ž‘์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์„  ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ์ง€์†๋ฉ๋‹ˆ๋‹ค. ์ˆ˜์ •ํ•˜์„ธ์š”. ์šฐ๋ฆฌ๋Š” ์‚ฌ๋ž‘ํ•˜๋‹ค

์‹ค๋ฃฉ ๊ฑฐ๋ฆฌ๋‹ค

์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์†”์งํžˆ ๋ณด๊ณ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž ๋˜๋Š” ๋งˆ์Šคํ„ฐ ์ฑ„๋„๋กœ ์ „ํ™˜์„ ์‹œ๋„ ํ–ˆ์Šต๋‹ˆ๊นŒ?

๋ฌธ์ œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ๋””๋ฒ„๊น…์„ ์‹œ์ž‘ํ•˜๋ฉด '์ตœ์‹  ๋ฒ„์ „'์ด ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹จ๊ณ„๋ณ„๋กœ ๋””๋ฒ„๊ทธํ•˜๋ฉด... ์ฃผ์„์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค... ์ด์ œ ํ™•์‹คํžˆ ํ•˜๊ธฐ ์œ„ํ•ด ํ”Œ๋Ÿฌํ„ฐ ์‹คํ–‰์„ ํ•˜๊ณ  ๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

[โˆš] Flutter(์ฑ„๋„ ๋งˆ์Šคํ„ฐ, v0.5.7-pre.62, Microsoft Windows [๋ฒ„์ „ 10.0.17134.112], ๋กœ์ผ€์ผ en-US)
โ€ข C:\flutter์˜ Flutter ๋ฒ„์ „ 0.5.7-pre.62
โ€ข ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ์ •ํŒ 7ac183794b(2์ผ ์ „), 2018-07-06 15:21:29 -0700
โ€ข ์—”์ง„ ๊ฐœ์ •ํŒ 6fe748490d
โ€ข Dart ๋ฒ„์ „ 2.0.0-dev.63.0.flutter-4c9689c1d2

[โˆš] Android ํˆด์ฒด์ธ - Android ๊ธฐ๊ธฐ์šฉ ๊ฐœ๋ฐœ(Android SDK 27.0.3)
โ€ข C:\Android\android-sdk์˜ Android SDK
โ€ข Android NDK ์œ„์น˜๊ฐ€ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์Œ(์„ ํƒ ์‚ฌํ•ญ, ๊ธฐ๋ณธ ํ”„๋กœํŒŒ์ผ๋ง ์ง€์›์— ์œ ์šฉ)
โ€ข ํ”Œ๋žซํผ android-27, ๋นŒ๋“œ ๋„๊ตฌ 27.0.3
โ€ข ANDROID_HOME = C:\Android\android-sdk
โ€ข Java ๋ฐ”์ด๋„ˆ๋ฆฌ: C:\Program Files\Android\Android Studio\jrebin\java
โ€ข Java ๋ฒ„์ „ OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(๋นŒ๋“œ 1.8.0_152-release-1024-b02)
โ€ข ๋ชจ๋“  Android ๋ผ์ด์„ ์Šค๊ฐ€ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

[โˆš] ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค(๋ฒ„์ „ 3.1)
โ€ข C:\Program Files\Android\Android Studio์˜ Android ์ŠคํŠœ๋””์˜ค
โ€ข Flutter ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„์ „ 25.0.1
โ€ข Dart ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„์ „ 173.4700
โ€ข Java ๋ฒ„์ „ OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(๋นŒ๋“œ 1.8.0_152-release-1024-b02)

[โˆš] VS Code, 64๋น„ํŠธ ์—๋””์…˜(๋ฒ„์ „ 1.25.0)
โ€ข C:\Program Files\Microsoft VS Code์˜ VS ์ฝ”๋“œ
โ€ข Flutter ํ™•์žฅ ๋ฒ„์ „ 2.15.0

์šฐ๋ฆฌ ์‹œ์Šคํ…œ์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

@gspencergoog ๋‹ค์Œ ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ์ด๊ฒƒ์„ ๋ณด์•˜๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

@DanTup ๋ณธ์ ์€ ์žˆ์ง€๋งŒ @cbracken ์ด ์ˆ˜์ •ํ•˜๊ธฐ์— ๋” ์ข‹์€ ์œ„์น˜์— ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋ˆ„๊ตฌ๋“ ์ง€ hot-reload/hot-restart ์ „์— ๋ช…์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ฒƒ์„ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
์ƒํ™ฉ์„ ๊ฐœ์„ ? (์ €์žฅ ์‹œ ํ•ซ ๋ฆฌ๋กœ๋“œ ๋น„ํ™œ์„ฑํ™”๋จ)
flutter/flutter-intellij#2472๋„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‚ด๊ฐ€ ์–ด์ œ ๊ด€์ฐฐํ•œ ๊ฒƒ์€ ๋‚ด ํ”„๋กœ์ ํŠธ์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹Œ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋™์•ˆ ํŒจํ‚ค์ง€ ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ ์ ์šฉํ•˜๋ ค๋ฉด ์ €์žฅํ•œ ํ›„ ๋ช…์‹œ์ ์œผ๋กœ ํ•ซ ๋ฆฌ๋กœ๋“œํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@escamoteur ํ”ผ๋“œ๋ฐฑ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. #15879์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค.

์•„๋‹ˆ์š” ํŒจํ‚ค์ง€๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋””๋ฒ„๊น…์„ ์œ„ํ•ด ์ฐธ์กฐ๋œ ํŒจํ‚ค์ง€์—์„œ ์•ฝ๊ฐ„์˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ฒฝ๋กœ ์ข…์†์„ฑ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ?

ํŒจํ‚ค์ง€ ์ข…์†์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ๋Œ€ํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๊ณผํ•œ ๊ฒƒ์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

~/.pub-cache/hosted/... ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ๋‹น์‹ ์ด ๊ทธ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•œ ์ง€์›์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์„์ง€ ํ™•์‹ ์ด ์„œ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด .packages ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ํ˜ธ์ŠคํŠธ๋œ ํŒจํ‚ค์ง€ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.

์ข‹์•„ ์œ ์ฃ„ ์ธ์ • ๐Ÿ˜

@escamoteur ์—ฌ๊ธฐ์— ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ(์ด๋ฏธ ์•Œ๊ณ  ์žˆ์„ ์ˆ˜๋„ ์žˆ์Œ) ํŒจํ‚ค์ง€์˜ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋Š” "๋œ ์ง€์›๋˜์ง€ ์•Š๋Š”" ๋ฐฉ๋ฒ•์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ€์ ธ์˜จ ํŒจํ‚ค์ง€์˜ ๊ฒฝ๋กœ๋ฅผ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

dependency_overrides:
  vm_service_client:
    path: ../../../vm_service_client

@escamoteur ํ•ซ ๋ฆฌ๋กœ๋“œ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ด์•ผ ํ•˜๊ฒ ์ง€๋งŒ pub serve ์กด์žฌํ–ˆ์„ ๋•Œ(์›น์šฉ) ์•ฑ ํ”„๋กœ์ ํŠธ์™€ path: ์ข…์†์„ฑ์„ํ•˜์ง€๋งŒ, (์ฝ”๋“œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค ๊ฒƒ์„) ์ˆ ์ง‘ ์บ์‹œ์— ๋ฌด์—‡์ด๋“ , ๋˜๋Š” ์ž์‹ ์˜์กด์„ฑ์„ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ํ”Œ๋Ÿฌํ„ฐ์˜ ๊ฒฝ์šฐ์— ๋‚จ์•„ ์žˆ๋‹ค๊ณ  ๋งค์šฐ ์˜์‹ฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@cbracken ์„ค๋ช… ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์›๋ž˜ ๋ฌธ์ œ์—์„œ ์กฐ๊ธˆ ๋ฒ—์–ด๋‚˜์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ์ง€์†๋ฉ๋‹ˆ๋‹ค. ์ˆ˜์ •์‚ฌํ•ญ์ด ์žˆ๋‚˜์š”?? ์ •๋ณด ์ข€ ๋ฒ„๋ ค์ฃผ์„ธ์š”.

@cbracken ์ด๊ฒƒ์€ ์˜ค๋Š˜ ๋ฒ„์ „์—์„œ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

Flutter 0.5.8-pre.61 โ€ข ์ฑ„๋„ ๋งˆ์Šคํ„ฐ โ€ข https://github.com/flutter/flutter
ํ”„๋ ˆ์ž„์›Œํฌ โ€ข ๊ฐœ์ • b8b6d41(7์‹œ๊ฐ„ ์ „) โ€ข 2018-07-17 18:07:54 -0700
์—”์ง„ โ€ข ๊ฐœ์ •ํŒ 5557e3006e
๋„๊ตฌ โ€ข Dart 2.0.0-dev.67.0.flutter-84ca27a09e

Hot reload ํ›„์—๋งŒ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋””๋ฒ„๊ทธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Flutter clean๋„ ๋” ์ด์ƒ ๋„์›€์ด ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
git reset --hard e22f99743b4f0bea4a9b8e7703ce5ffbfda37a04 ๋กค๋ฐฑํ–ˆ์Šต๋‹ˆ๋‹ค.
ํ•ด๊ฒฐ ๋ฌธ์ œ๊ฐ€ ์ด์ œ ๋‹ค์‹œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฒ„๊ทธ์˜ ์ƒํƒœ๊ฐ€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. :/

์›๋ž˜ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋“ค๋ฆฌ์ง€๋งŒ ์—ฌ๊ธฐ์— ์ถ”๊ฐ€๋œ ๊ด€๋ จ ๋ณด๊ณ ์„œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@escamoteur ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ๋Œ“๊ธ€์ด ์ตœ์‹  ๋งˆ์Šคํ„ฐ์—์„œ ๋””๋ฒ„๊น…์ด ๋“ค๋ฆฌ์ง€๋งŒ ์›๋ž˜ ๋ฌธ์ œ์™€ ๊ด€๋ จ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๊นŒ?

์‚ฌ์šฉ์ž๊ฐ€ ์ด ๊ณต๊ฐ„ ํŒŒ์ผ์—์„œ ์—ฌ์ „ํžˆ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ๋Š” ์ƒˆ๋กœ์šด ๊ฐœ๋ณ„ ๋ฒ„๊ทธ(์—ฌ๊ธฐ์—์„œ ๋งํฌํ•  ์ˆ˜ ์žˆ์Œ)๋ฅผ ๊ถŒ์žฅํ•˜์—ฌ ๊ฐ๊ฐ์„ ์ง„๋‹จํ•˜๊ณ  ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์„ค๋งˆ. ๋””๋ฒ„๊น…์€ ์ž‘๋™ํ•˜์ง€๋งŒ ์ƒˆ ๋””๋ฒ„๊ทธ ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ๋•Œ ํ•ญ์ƒ ์ตœ์‹  ๋ฒ„์ „์˜ ์•ฑ์„ ๊ธฐ๊ธฐ์— ํ‘ธ์‹œํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ํ•ซ ๋ฆฌ๋กœ๋“œ๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋œ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ํ‘ธ์‹œ๋˜๊ณ  ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@escamoteur ํ•ด๋‹น ํŠน์ • ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด ๋ฒ„๊ทธ๋ฅผ

@eseidel ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‚ด์ผ์ด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

@escamoteur ๊ฐ€ ๊ฒช๊ณ  ์žˆ๋Š” ๋ฌธ์ œ๋Š” ์—ฌ๊ธฐ์— ์žˆ๋Š” ์›๋ž˜ ๋ณด๊ณ ์„œ์™€ ๋™์ผํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๊ธฐ์—์„œ ์˜ค๋ž˜๋œ ์•ฑ์ด ์‹คํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

์œ„์˜ ์ง„์ˆ ์€ ๋””๋ฒ„๊น…์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์•ฝ๊ฐ„ ํ˜ผ๋ž€์Šค๋Ÿฌ์› ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ๋‚ด๊ฐ€ Gitter์— ๋Œ€ํ•ด ๋ช…ํ™•ํžˆ ํ•ด๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ–ˆ์„ ๋•Œ ๊ทธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

์•ฑ์„ ์‹œ์ž‘ํ•˜๊ณ  ๋ช‡ ๊ฐ€์ง€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๊ณ  ํ•ซ ๋ฆฌ๋กœ๋“œ => ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์•ฑ์„ ์ค‘์ง€ํ•˜๊ณ  ์ƒˆ๋กœ ์‹œ์ž‘ํ•จ => ์ด์ „ ์•ฑ ๋ฒ„์ „์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

์ œ๊ฐ€ ์›๋ž˜ ๋ณด๊ณ ์„œ๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ–ˆ๋‹ค๋ฉด ์ด๊ฒƒ๋“ค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ผ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@escamoteur , ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•˜์…จ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด ์—ฌ๊ธฐ์—์„œ ๋งํฌ๋ฅผ ๊ณต์œ ํ•˜์‹ญ์‹œ์˜ค!

์•„์ง ๋‹ค์‹œ ์žฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ฆ‰, ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋ฉฐ ๋งˆ์ง€๋ง‰ ๋‚ ์—๋Š” ์‹ค์ œ ๊ฐœ๋ฐœ์„ ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ, ์ €๋„ ์ด ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” VS Code์—์„œ ์ž‘์—…ํ•˜๊ณ  ์žˆ๊ณ  ๋ง‰ ํ”Œ๋Ÿฌํ„ฐ๋กœ ์‹œ์ž‘ํ•˜๊ณ  "์‹œ์ž‘ ์ด๋ฆ„ ์ƒ์„ฑ๊ธฐ" ์˜ˆ์ œ ์•ฑ์—์„œ ์ž‘์—…ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ๋•Œ ์•ฑ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ๋†€๋ž์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝํ•˜๊ณ  ํ•ซ ๋ฆฌ๋กœ๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์˜ค๋ž˜๋œ ์ฝ”๋“œ ์กฐ๊ฐ์€ ์ฆ‰์‹œ ์ „์ฒด UI๋ฅผ ํ˜„์žฌ ์ฝ”๋“œ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ฏ€๋กœ apk๊ฐ€ ์ƒˆ๋กœ์šด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ถ”๋ก ํ•˜๊ณ  ์—ฌ๊ธฐ์— ์™€์„œ ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ผ์‹œ์ ์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. , ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ๋งค์šฐ ์„ฑ๊ฐ€์‹  ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” clean and build ์˜ต์…˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์ค‘์ธ ๋ฒ„์ „์„ ์•Œ ์ˆ˜ ์žˆ๋„๋ก Flutter ์˜์‚ฌ ์ถœ๋ ฅ์„ ์—ฌ๊ธฐ์— ์ถ”๊ฐ€ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์›น์‚ฌ์ดํŠธ์—์„œ zip ํŒŒ์ผ์„ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์—…๊ทธ๋ ˆ์ด๋“œ ํ›„ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

[ํ”Œ๋Ÿฌํ„ฐ] ํ”Œ๋Ÿฌํ„ฐ ๋‹ฅํ„ฐ
โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
โ•‘ ๊ฒฝ๊ณ : Flutter๋ฅผ ์„ค์น˜ํ•œ ์ง€ 77์ผ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. โ•‘
โ•‘ โ•‘
โ•‘ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜์‹œ๋ ค๋ฉด "ํ”Œ๋Ÿฌํ„ฐ ์—…๊ทธ๋ ˆ์ด๋“œ"๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”. โ•‘
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

์˜์‚ฌ ์š”์•ฝ(๋ชจ๋“  ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด flutter Doctor -v ์‹คํ–‰):
[โœ“] Flutter(Mac OS X 10.12.6 16G1408์˜ ์ฑ„๋„ ๋ฒ ํƒ€, v0.5.1, ๋กœ์ผ€์ผ en-IN)
[โœ“] Android ํˆด์ฒด์ธ - Android ๊ธฐ๊ธฐ์šฉ ๊ฐœ๋ฐœ(Android SDK 28.0.2)
[โœ“] iOS ํˆด์ฒด์ธ - iOS ๊ธฐ๊ธฐ์šฉ ๊ฐœ๋ฐœ(Xcode 9.2)
[โœ“] ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค(๋ฒ„์ „ 3.1)
โœ— Flutter ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Flutter ํŠน์ • ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
โœ— Dart ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Dart ํŠน์ • ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
[!] VS ์ฝ”๋“œ(๋ฒ„์ „ 1.26.0)
[โœ“] ์—ฐ๊ฒฐ๋œ ์žฅ์น˜(1๊ฐœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)

! ์˜์‚ฌ๊ฐ€ 1๊ฐœ์˜ ๋ฒ”์ฃผ์—์„œ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.
์ข…๋ฃŒ ์ฝ”๋“œ 0

๋„ค, ์‹œ๋„ํ•ด๋ณด์‹ญ์‹œ์˜ค. ๋˜ํ•œ dev ๋˜๋Š” master ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜์„ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์„ ๋Š์—ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ƒˆ ๋นŒ๋“œ๊ฐ€ ์ œ๋Œ€๋กœ ์ƒ์„ฑ๋˜๊ณ  ์„ค์น˜๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ์ž‘์—…์„ ๋งˆ์น˜๊ธฐ ์ „๊ณผ ๊ฐ™์ด ํŠน์ • ์‹œ์ ์— ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์‹œ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? , ์ด์ œ ํ•ซ ๋ฆฌ๋กœ๋“œ๊ฐ€ Android Studio์—์„œ ์ฆ‰์‹œ ์‹คํ–‰๊ณผ ๊ฑฐ์˜ ๋น„์Šทํ•˜๊ฒŒ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ธ์…˜์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋™์•ˆ์—๋งŒ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. VS ์ฝ”๋“œ์šฉ?)

@droidluv ์ตœ๊ทผ์— ์žฌ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ•˜๋Š” ์ž‘์—…์ด ์žˆ์—ˆ๋˜ ๊ฒƒ

์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? 2๊ฐœ์›”์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ๋•Œ๊นŒ์ง€ flutter๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
vscode์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
๋กœ๊ทธ

NoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosedNoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosedNoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosedNoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosedNoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosedNoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosedNoSuchMethodError: The getter 'isClosed' was called on null.
Receiver: null
Tried calling: isClosed

ํ™˜๊ฒฝ

~/Desktop/hello_world
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[โœ“] Flutter (Channel beta, v0.7.3, on Mac OS X 10.14 18A384a, locale en-CN)
[โœ“] Android toolchain - develop for Android devices (Android SDK 26.0.2)
[โœ“] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
[โœ“] Android Studio (version 3.0)
[โœ“] VS Code (version 1.27.0)
[โœ“] Connected devices (1 available)

โ€ข No issues found!

@bang88 dev๋‚˜ master๋กœ
์ด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ์ด ๋ฌธ์ œ์™€ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ?

@escamoteur ๋‹ค๋ฅธ ์ฑ„๋„๋กœ ์ „ํ™˜์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์›๋ž˜ ๋ฌธ์ œ๋Š” https://github.com/Dart-Code/Dart-Code/issues/1113 ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

@DanTup --verbose CLI๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก vscode๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@tvolkert ์˜ˆ, ๋””๋ฒ„๊ทธ ์‚ฌ์ด๋“œ๋ฐ”์˜ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๋ฅผ ํด๋ฆญํ•˜์—ฌ launch.json ์ƒ์„ฑ/์—ด๊ณ  args ์„น์…˜์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ž…๋‹ˆ๋‹ค.

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Flutter",
            "request": "launch",
            "type": "dart",
            "args": [
                "-v"
            ]
        }
    ]
}

Debug Console ์ถœ๋ ฅ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

screen shot 2018-09-07 at 17 33 20

@bang88 ์ด์ „ ์ฃผ์„์— ๋”ฐ๋ผ ์ž์„ธํ•œ ๋กœ๊น…์„ ํ™œ์„ฑํ™”ํ•˜๊ณ  ์—ฌ๊ธฐ์— ์ถœ๋ ฅ์„ ๋ถ™์—ฌ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@bang88 ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ฐธ๊ณ ๋กœ, ํ–ฅํ›„ ์ฐธ์กฐ๋ฅผ ์œ„ํ•ด gist.github.com์€ ์œ„์™€ ๊ฐ™์€ ๋งค์šฐ ํฐ ๋กœ๊ทธ ์กฐ๊ฐ์„ ๋ถ™์—ฌ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ์žฅ์†Œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์—ฌ๊ธฐ ์ฃผ์„์— ์š”์ ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ํ•ด๋‹น ์ถœ๋ ฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉด ๋‹ค์Œ ์ค„์ด null ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

https://github.com/flutter/flutter/blob/cb74e0eda87e35966437ef38a09ef02e23d50206/packages/flutter_tools/lib/src/resident_runner.dart#L71

์‚ฌ์‹ค ์กฐ๊ธˆ ํŒŒ๊ณ ๋“ค๋ฉด ๊ฒฝ์Ÿ ์กฐ๊ฑด์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. @bang88 ๋‹ค์Œ diff๋ฅผ ๋กœ์ปฌ๋กœ ์ ์šฉํ•œ ๋‹ค์Œ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๊ณ  ์ถœ๋ ฅ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌ ํ•ด์š”!

diff --git a/packages/flutter_tools/lib/src/resident_runner.dart b/packages/flutter_tools/lib/src/resident_runner.dart
index d675e6db3..cdfabe409 100644
--- a/packages/flutter_tools/lib/src/resident_runner.dart
+++ b/packages/flutter_tools/lib/src/resident_runner.dart
@@ -86,12 +86,17 @@ class FlutterDevice {
     if (vmServices == null)
       return <FlutterView>[];

-    return vmServices
-      .where((VMService service) => !service.isClosed)
-      .expand((VMService service) => viewFilter != null
-          ? service.vm.allViewsWithName(viewFilter)
-          : service.vm.views)
-      .toList();
+    try {
+      return vmServices
+        .where((VMService service) => !service.isClosed)
+        .expand((VMService service) => viewFilter != null
+            ? service.vm.allViewsWithName(viewFilter)
+            : service.vm.views)
+        .toList();
+    } catch (error) {
+      printError('Error while getting views: $error -- stack trace: ${StackTrace.current}');
+      rethrow;
+    }
   }

   Future<Null> getVMs() async {

@bang88 ์š”์ง€ ๋งํฌ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  ์ธ๋ผ์ธ ๋กœ๊ทธ ๋‚ด์šฉ์œผ๋กœ ์œ„์˜ ๋Œ“๊ธ€์„ ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ดœ์ฐฎ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@zoechi ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

@bang88 VS Code์—์„œ ๋กœ๊ทธ๋ฅผ ์บก์ณํ•ด์„œ ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?

VS Code์˜ ๋ช…๋ น ํŒ”๋ ˆํŠธ์—์„œ Dart: Capture Logs ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  Debugger (Observatory) ๋ฐ Flutter Run ๋ฒ”์ฃผ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๊ณ  ๋กœ๊น… ์ค‘์ง€๋ฅผ ๋ˆ„๋ฅธ ๋‹ค์Œ ๋กœ๊ทธ๋ฅผ ๋ณด๋‚ด์ฃผ์‹ญ์‹œ์˜ค.

@bang88 ๊ทธ ์ „์— ์ด ๋ฒ ํƒ€ ๋ฒ„์ „์˜ Dart Code๋ฅผ ์„ค์น˜ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

https://github.com/Dart-Code/Dart-Code/releases/tag/v2.18.1-beta.1

Flutter์˜ ์ž์„ธํ•œ ์ถœ๋ ฅ์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉด ์˜ˆ์ƒ๋ณด๋‹ค ๋นจ๋ฆฌ ๋””๋ฒ„๊ฑฐ๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค( ์ž์„ธํ•œ ์ถœ๋ ฅ์—์„œ โ€‹โ€‹Observatory URL์„ ์ž˜๋ชป ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ธฐ ๋•Œ๋ฌธ์—). ์ด๊ฒƒ์€ ๊ฐ€์žฅ ์ตœ๊ทผ ๋กœ๊ทธ์—์„œ ๋ฐœ์ƒํ•œ ์ผ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์ž์„ธํ•œ ๋กœ๊น…์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์›๋ž˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ค๋ฅ˜๊ฐ€ ๋™์ผํ•œ ๊ฒƒ์œผ๋กœ ์˜์‹ฌ๋˜์ง€๋งŒ).

@DanTup ์ œ์•ˆํ•˜์‹  ๋Œ€๋กœ ์žฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ƒˆ ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค. https://gist.github.com/bang88/e140e6a9a3c0c045d24339fc593c5595

๊ทธ๋ฆฌ๊ณ  gif๋ฅผ ์บก์ฒ˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

log

@DanTup app.start ์ด๋ฒคํŠธ ์ดํ›„์— ์ด๋ฒคํŠธ๋ฅผ ๋ณด๋‚ด๊ธฐ ์‹œ์ž‘ํ•˜๊ณ  app.started ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

21696์€ ๋„๊ตฌ ์ธก๋ฉด์—์„œ ์ฝ”๋“œ๋ฅผ ๋” ๋ฐฉ์–ด์ ์œผ๋กœ ๋งŒ๋“ค์ง€๋งŒ ์•ฑ์ด ์‹œ์ž‘๋  ๋•Œ๊นŒ์ง€ ์ด๋ฒคํŠธ ์ „์†ก์„ ๋ณด๋ฅ˜ํ•˜๋„๋ก IDE ์ธก๋ฉด๋„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ๋จธ์‹ ์˜ ์„ฑ๋Šฅ์— ๋”ฐ๋ผ ํƒ€์ด๋ฐ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์•„์„œ ์–ด๋–ค ์‚ฌ๋žŒ๋“ค์€ ์ง๋ฉดํ•˜๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Hardware Overview:

  Model Name:   MacBook Pro
  Model Identifier: MacBookPro14,3
  Processor Name:   Intel Core i7
  Processor Speed:  3.1 GHz
  Number of Processors: 1
  Total Number of Cores:    4
  L2 Cache (per Core):  256 KB
  L3 Cache: 8 MB
  Memory:   16 GB
  Boot ROM Version: MBP143.0178.B00
  SMC Version (system): 2.45f0
  Serial Number (system):   xxx
  Hardware UUID:    xxx

@bang88 ๋งˆ์Šคํ„ฐ ์ฑ„๋„์—์„œ flutter upgrade ํ•˜๋ฉด ์ด์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ์ƒ๊ฐ์—๋Š” ์•ฑ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๊ธฐํ•˜๋Š” ๋” ์ง์ ‘์ ์ธ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ ์‹œ๋„ํ•ด๋ณด๊ณ  ๋‹ค์‹œ ๋ณด๊ณ ํ•˜์‹ญ์‹œ์˜ค.

@tvolkert ๋ฐฉ๊ธˆ ๋งˆ์Šคํ„ฐ ์ฑ„๋„๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ

~/Desktop/hello_world
$ flutter doctor -v[โœ“] Flutter (Channel master, v0.8.3-pre.36, on Mac OS X 10.14 18A384a, locale en-CN)
    โ€ข Flutter version 0.8.3-pre.36 at /Users/bang/flutter
    โ€ข Framework revision d02e67e76e (5 hours ago), 2018-09-12 12:11:59 +0200
    โ€ข Engine revision 6f459e2f10
    โ€ข Dart version 2.1.0-dev.4.0.flutter-05ccfa8502

[โœ“] Android toolchain - develop for Android devices (Android SDK 26.0.2)
    โ€ข Android SDK at /Users/bang/Library/Android/Sdk
    โ€ข Android NDK at /Users/bang/Library/Android/Sdk/ndk-bundle
    โ€ข Platform android-26, build-tools 26.0.2
    โ€ข ANDROID_HOME = /Users/bang/Library/Android/Sdk
    โ€ข Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
    โ€ข All Android licenses accepted.

[โœ“] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
    โ€ข Xcode at /Applications/Xcode.app/Contents/Developer
    โ€ข Xcode 9.4.1, Build version 9F2000
    โ€ข ios-deploy 1.9.2
    โ€ข CocoaPods version 1.5.0

[โœ“] Android Studio (version 3.0)
    โ€ข Android Studio at /Applications/Android Studio.app/Contents
    โ€ข Flutter plugin version 23.2.1
    โ€ข Dart plugin version 171.4424
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[โœ“] VS Code (version 1.27.1)
    โ€ข VS Code at /Applications/Visual Studio Code.app/Contents
    โ€ข Flutter extension version 2.18.0

[โœ“] Connected devices (1 available)
    โ€ข iPhone X โ€ข 3DBD546E-7A81-40E2-AB99-F2843169EC64 โ€ข ios โ€ข iOS 11.4 (simulator)

โ€ข No issues found!

@tvolkert ์ด์ „์— ๊ทธ๋Ÿฐ ์ผ์ด ์žˆ์—ˆ์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์œ„์— ๋งํฌ๋œ ๋ฒ ํƒ€ ๋ฒ„์ „์—์„œ ํ•ด๊ฒฐํ–ˆ์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด ๋กœ๊ทธ๋ฅผ ๋ณด๋ฉด app.start ์ด๋ฒคํŠธ ์ดํ›„์— stdin์œผ๋กœ ์•„๋ฌด ๊ฒƒ๋„ ์ „์†ก๋˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ(stdin์œผ๋กœ ์ „์†ก๋œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ํ–‰์— [FlutterRun] [Info] ==> ์™€ ํ•จ๊ป˜ ๊ธฐ๋ก๋˜์–ด์•ผ ํ•จ) Flutter ํ”„๋กœ์„ธ์Šค์˜ ๋งˆ์ง€๋ง‰ ์ค„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[10:18:14 GMT+0800 (CST)] [FlutterRun] [Info] <== [ +5 ms] ์„œ๋น„์Šค ํ”„๋กœํ† ์ฝœ์— ์—ฐ๊ฒฐ ์ค‘: http://127.0.0.1 :59843/

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋””๋ฒ„๊ทธ ์„ธ์…˜์ด ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์•„๋ฌด ์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. app.started ์ด๋ฒคํŠธ๊ฐ€ ์ „์†ก๋˜๊ธฐ ์ „์— Flutter์˜ ๋ฌด์–ธ๊ฐ€๊ฐ€ ์œ„์˜ ์ค„ ์ดํ›„์— ์ง€์—ฐ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ์ค„์„ ์ธ์‡„ํ•˜๋Š” ์ฝ”๋“œ์™€ app.started ์ด๋ฒคํŠธ๋ฅผ ๋ณด๋‚ด๋Š” ์ฝ”๋“œ ์‚ฌ์ด์— ์ถ”๊ฐ€ printTrace ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์— ์ด์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•œ ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค(https://github.com/flutter/flutter/issues/18889#issuecomment-420706390). ๋‹ค๋ฅธ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์ด ์˜์—ญ์—์„œ ์ •์ฒด๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ๋กœ๊น…์„ ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด ๋ธŒ๋žœ์น˜์—์„œ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ด ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฏธ๋ž˜๋Š” ์ œ ์‹œ๊ฐ„์— ์™„๋ฃŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(๋˜๋Š” ์™„๋ฃŒ๋˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Œ):

https://github.com/flutter/flutter/blob/8cf68731e010023e5dcae1f00991f4ac5b1b758b/packages/flutter_tools/lib/src/resident_runner.dart#L71

๊ทธ ์ „ํ›„์— ์ถ”์  ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด์ „์„ ๋ณด๊ณ  ์žˆ์ง€๋งŒ ์ดํ›„๋Š” ๋ณด์ง€ ์•Š์Šต๋‹ˆ๋‹ค...

๊ทธ ์ „ํ™”๋ฅผ ์ถ”์ ํ•˜๋ฉด์„œ ์šฐ๋ฆฌ๊ฐ€ ์‹ค์ œ๋กœ ๋งค๋‹ฌ๋ ค์žˆ๋Š” ๊ณณ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

https://github.com/flutter/flutter/blob/8cf68731e010023e5dcae1f00991f4ac5b1b758b/packages/flutter_tools/lib/src/vmservice.dart#L241

/cc @aam

VM๋„ ์‹ค์ œ๋กœ ๋‹ค์šด๋œ ๊ฒฝ์šฐ VM ์š”์ฒญ์— ์‘๋‹ตํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ๋Š๊น€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๋ฉด ์žฅ์น˜์—์„œ ์–ด๋–ค ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ? ์žฅ์น˜์—์„œ ๋ณด๊ณ ๋œ ์ถฉ๋Œ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋นˆ ํ™”๋ฉด๋งŒ ์ถฉ๋Œ ์—†์Œ https://github.com/flutter/flutter/issues/16604#issuecomment -420490327

์ผ๋ฐ˜์ ์œผ๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋นŒ๋“œํ•ด์•ผ ํ•˜๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ๊ณผ ํ•จ๊ป˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ๊ทธ๊ฒƒ์„ ๊ธ์Šต๋‹ˆ๋‹ค. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์‹œ ์„ค์น˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค

์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์–ผ๋งˆ ํ›„๋ถ€ํ„ฐ ๋” ์ด์ƒ flutter clean ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚˜๋ฅผ ์œ„ํ•ด ๊นจ๋—ํ•œ ์•„๋ฌด๊ฒƒ๋„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. iOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์•ฑ์„ ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ flutter๋Š” ์‹คํ–‰์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค(์‹คํŒจํ•ฉ๋‹ˆ๋‹ค). ๊ทธ๋ฆฌ๊ณ  ๋‘ ๋ฒˆ์งธ๋กœ ์‹คํ–‰ํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ฆ๋ถ„ ์—…๋ฐ์ดํŠธ ๋…ผ๋ฆฌ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•ซ ๋ฆฌ๋กœ๋“œ๋ฅผ ํ†ตํ•ด ์•ฑ์ด ์‚ญ์ œ๋˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋œ ๊ฒฝ์šฐ flutter run ๋™์•ˆ ์ œ๋Œ€๋กœ ๊ฐ์ง€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ๋•Œ๊นŒ์ง€ ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ๋ฒ„์ „ 0.8.2์—์„œ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์ •๋ง ์งœ์ฆ๋‚˜๋„ค์š”.

๊ฐœ๋ฐœ์ž ์ฑ„๋„๋กœ ์ „ํ™˜

๋งˆ์Šคํ„ฐ 0.10.1-pre.15์—์„œ ์—ฌ์ „ํžˆ ๋ฌธ์ œ

๋‚˜๋Š” ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ฃผ๋œ ์ด์œ  ์ค‘ ํ•˜๋‚˜๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค(๋นŒ๋“œ ํด๋” ์‚ญ์ œ ๋˜๋Š” ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ ๋ช…๋ น ์‹คํ–‰์œผ๋กœ ์ˆ˜์ •๋จ). ์ผ๋ถ€ ์ž˜๋ชป๋œ ์ˆ˜์ • ์‚ฌํ•ญ์ด ์ฝ”๋“œ์— ์ ์šฉ๋œ ๋‹ค์Œ ํ•ซ ๋ฆฌ๋กœ๋“œ ๋˜๋Š” ํ•ซ ์žฌ์‹œ์ž‘์„ ๋ˆ„๋ฅธ ๋‹ค์Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ ํ›„, ์ด ์ƒˆ๋กœ์šด ์‹คํ–‰ ํ›„์— ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ๋นŒ๋“œ ํด๋”๋ฅผ ์‚ญ์ œํ•  ๋•Œ๊นŒ์ง€ ์ด์ „ ๋นŒ๋“œ(์œ ํšจํ•˜์ง€ ์•Š์€ ์ˆ˜์ • ์ด์ „)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ @gspencergoog ์ด๊ฒƒ์€ ๋” ์ž์ฃผ ๋ณด๊ณ ๋˜๋Š” ๋„๊ตฌ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@FlutterIODev ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ ค๋ฉด ์ถฉ๋Œ์ด ์ผ์–ด๋‚˜์•ผ ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•ฑ์ด ์ •์ง€๋˜๋ฉด ๋ณต๊ตฌํ•  ์ˆ˜ ์—†๋Š” ์ถฉ๋Œ๋„ ๋ฐœ์ƒํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์™„์ „ํžˆ ํ™•์‹ ํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ ๋””๋ฒ„๊น…ํ•  ๋•Œ ๋” ๋งŽ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‚ด ๊ฒฝํ—˜์ด ๊ทธ๊ฒƒ์„ ๋’ท๋ฐ›์นจํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ์ž‘๋™ํ•˜๋ ค๋ฉด ์ •๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ์˜ˆ์™ธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ํ•ซ ๋ฆฌ๋กœ๋“œ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(ํŠœํ† ๋ฆฌ์–ผ์—์„œ ์–ธ๊ธ‰๋˜์ง€ ์•Š์•˜์ง€๋งŒ ์‹œ์ž‘ํ•  ๋•Œ ๊ฝค ํ˜ผ๋ž€์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค). 'clean'์ด ๋จผ์ € ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ 'build apk' ์‚ฌ์šฉ์ด ํ˜„์žฌ ํŒŒ์ผ์ด ์•„๋‹Œ ์ด์ „ ๋””๋ฒ„๊ทธ ๋นŒ๋“œ๋ฅผ ๋ฐ˜์˜ํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์˜๋„ํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ƒ๊ด€๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š” ํŠน์ • ์œ ํ˜•์˜ ์ถฉ๋Œ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์‹œ์ž‘ ์ˆœ์„œ๋‚˜ ํŠน์ • ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ๋” ๋นจ๋ฆฌ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ? ์–ด๋–ค ์ข…๋ฅ˜์˜ ์˜ˆ์™ธ์—์„œ ์ œ๋Œ€๋กœ ๋ณต๊ตฌ๋˜์ง€ ์•Š๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

0.9.4 ๋ถ„ ์ „์— ์„ค์น˜

์–ด๋–ค ์—…๋ฐ์ดํŠธ๋„ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฒ„๊ทธ์˜ ์˜ํ–ฅ์„ ๋ฐ›์€ ๋ชจ๋“  ๋ถ„๋“ค๊ป˜:

์šฐ๋ฆฌ๋Š” ์ด ๋ฒ„๊ทธ์˜ ์›์ธ์„ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ํก์—ฐ ์ด์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋น ๋ฅธ ์–‘์‹์„ ์ž‘์„ฑํ•˜์—ฌ ๋„์›€์„ ์ฃผ์‹œ๋ฉด ํฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

https://goo.gl/forms/eFPT6A3jAD8clU4o2

@dedeswim
@ratsey
@escamoteur
@iampawan
@KgotsoK
@jason-codeheroes
@mohith7548
@RedTech64
@jmwatte
@droidluv
@titonton
@szotp
@ElNuru247
@magicleon94
@NotThatBowser
@bang88
@davidgalarza

dev ์ฑ„๋„์— ๋“ค์–ด์˜จ ์ดํ›„๋กœ ๊ฝค ์˜ค๋žซ๋™์•ˆ์ด ๋ฒ„๊ทธ๋ฅผ ๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์„ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค - ๊ทธ ์ƒํƒœ๊ฐ€ ๋˜์—ˆ์„ ๋•Œ(ํ˜ธ์ŠคํŠธ์—์„œ ๋ฐฐํฌํ•˜๋ ค๊ณ  ์‹œ๋„ํ•  ๋•Œ ์žฅ์น˜์˜ ์•ฑ์ด ๋” ์ด์ƒ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ) flutter clean ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด flutter run --verbose ํ•˜๊ณ  gist.github.com์„ ํ†ตํ•ด ์ถœ๋ ฅ์„ ๊ณต์œ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด Android Studio์—์„œ ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

java.io.IOException: error from app.callServiceExtension: "Bad state: No element"
java.util.concurrent.CompletionException: java.io.IOException: error from app.callServiceExtension: "Bad state: No element"
    at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)
    at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)
    at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:593)
    at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
    at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
    at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)
    at io.flutter.run.daemon.DaemonApi$Command.completeExceptionally(DaemonApi.java:375)
    at io.flutter.run.daemon.DaemonApi.dispatch(DaemonApi.java:181)
    at io.flutter.run.daemon.DaemonApi$1.onTextAvailable(DaemonApi.java:141)
    at sun.reflect.GeneratedMethodAccessor95.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.intellij.execution.process.ProcessHandler$5.invoke(ProcessHandler.java:223)
    at com.sun.proxy.$Proxy17.onTextAvailable(Unknown Source)
    at com.intellij.execution.process.ProcessHandler.notifyTextAvailable(ProcessHandler.java:197)
    at com.intellij.execution.process.BaseOSProcessHandler$SimpleOutputReader.onTextAvailable(BaseOSProcessHandler.java:198)
    at com.intellij.util.io.BaseOutputReader.sendText(BaseOutputReader.java:202)
    at com.intellij.util.io.BaseOutputReader.processInput(BaseOutputReader.java:186)
    at com.intellij.util.io.BaseOutputReader.readAvailableNonBlocking(BaseOutputReader.java:105)
    at com.intellij.util.io.BaseDataReader.readAvailable(BaseDataReader.java:85)
    at com.intellij.util.io.BaseDataReader.doRun(BaseDataReader.java:163)
    at com.intellij.util.io.BaseDataReader$1$1.run(BaseDataReader.java:66)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:209)
    at com.intellij.util.io.BaseDataReader$1.run(BaseDataReader.java:63)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: error from app.callServiceExtension: "Bad state: No element"
    ... 22 more

์–ด์ฉŒ๋ฉด ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ...
```
ํ”Œ๋Ÿฌํ„ฐ --๋ฒ„์ „:

Flutter 0.9.4 โ€ข ์ฑ„๋„ ๋ฒ ํƒ€ โ€ข https://github.com/flutter/flutter.git
ํ”„๋ ˆ์ž„์›Œํฌ โ€ข ๊ฐœ์ • f37c235c32(3์ฃผ ์ „) โ€ข 2018-09-25 17:45:40 -0400
์—”์ง„ โ€ข ๊ฐœ์ •ํŒ 74625aed32
๋„๊ตฌ โ€ข Dart 2.1.0-dev.5.0.flutter-a2eb050044
```
์œˆ10
์‹ค์ œ Android ๊ธฐ๊ธฐ.

๊ทธ๊ฒƒ์„ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค - ๊ทธ ์ƒํƒœ๊ฐ€ ๋˜์—ˆ์„ ๋•Œ(ํ˜ธ์ŠคํŠธ์—์„œ ๋ฐฐํฌํ•˜๋ ค๊ณ  ์‹œ๋„ํ•  ๋•Œ ์žฅ์น˜์˜ ์•ฑ์ด ๋” ์ด์ƒ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ) flutter clean ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด flutter run --verbose ํ•˜๊ณ  gist.github.com์„ ํ†ตํ•ด ์ถœ๋ ฅ์„ ๊ณต์œ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค: https://gist.github.com/zoechi/63ad820136130ee6a053e33f48b9ea14

@5ummit https://goo.gl/forms/eFPT6A3jAD8clU4o2 ์ž‘์„ฑ ํ•˜์…จ๋‚˜์š”?

๊ธฐํƒ€ ์ œ์•ˆ์€ https://gist.github.com/์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๊ฒƒ์ด ์—ˆ์Šต๋‹ˆ๋‹ค.
์ด ๋ฌธ์ œ๊ฐ€ ๋งˆ์ผ ๊ธธ์ด๊ฐ€ ๋˜์ง€ ์•Š๋„๋ก ํ•˜๋ ค๋ฉด ์—ฌ๊ธฐ์—๋งŒ ๋งํฌ๋ฅผ ๊ฒŒ์‹œํ•˜์‹ญ์‹œ์˜ค.

@5ummit ์€ ๋‹ค์Œ

๋‹น์‹ ์€ ๊ฐ„๋‹ค:
...
[ +97ms] [ +578ms] ์ปค๋„ ์ปดํŒŒ์ผ์„ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. ์ง€๋ฌธ ์ผ์น˜.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค๋ฅผ ์ˆ˜์ •ํ•œ ํ›„ ์ปดํŒŒ์ผ์„ ๊ฑด๋„ˆ๋›ด ๊ฒƒ์ด ๊ทผ๋ณธ ์›์ธ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์†Œ์Šค๋ฅผ ํŽธ์ง‘ํ•œ ํ›„ ์ผ์น˜๋ฅผ ๋ณด๊ณ ํ•œ ์ด์œ ๋ฅผ ์ดํ•ดํ•˜๋ ค๋ฉด ์ง€๋ฌธ ๊ณ„์‚ฐ์„ ๋” ๊ณ„์ธกํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™•์ธ์„ ์œ„ํ•ด lib/ ํด๋”์— ์žˆ๋Š” flutter ์•ฑ์˜ ์†Œ์Šค ์ค‘ ํ•˜๋‚˜๋ฅผ ํŽธ์ง‘ํ–ˆ์Šต๋‹ˆ๊นŒ?

@5ummit ์€ ๋‹ค์Œ

๋‹น์‹ ์€ ๊ฐ„๋‹ค:
...
[ +97ms] [ +578ms] ์ปค๋„ ์ปดํŒŒ์ผ์„ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. ์ง€๋ฌธ ์ผ์น˜.

@aam ์€ ๋‹ค์Œ
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค๋ฅผ ์ˆ˜์ •ํ•œ ํ›„ ์ปดํŒŒ์ผ์„ ๊ฑด๋„ˆ๋›ด ๊ฒƒ์ด ๊ทผ๋ณธ ์›์ธ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์†Œ์Šค๋ฅผ ํŽธ์ง‘ํ•œ ํ›„ ์ผ์น˜๋ฅผ ๋ณด๊ณ ํ•œ ์ด์œ ๋ฅผ ์ดํ•ดํ•˜๋ ค๋ฉด ์ง€๋ฌธ ๊ณ„์‚ฐ์„ ๋” ๊ณ„์ธกํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™•์ธ์„ ์œ„ํ•ด lib/ ํด๋”์— ์žˆ๋Š” flutter ์•ฑ์˜ ์†Œ์Šค ์ค‘ ํ•˜๋‚˜๋ฅผ ํŽธ์ง‘ํ–ˆ์Šต๋‹ˆ๊นŒ?

๋„ค, ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์ปค๋ฎค๋‹ˆํ‹ฐ ๋•๋ถ„์— https://github.com/flutter/flutter/issues/23131 ์„ ๊ณ ์น  ์ˆ˜ ์žˆ์—ˆ๋˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ด๊ฒƒ์„ ๋ฐ›๊ณ  - ๊ทธ๋“ค์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

๊ฐœ์ธ์ ์œผ๋กœ ๋‚ด ๋ฌธ์ œ๋Š” Firebase ์ข…์†์„ฑ์—์„œ ๋น„๋กฏ๋œ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. https://github.com/flutter/flutter/issues/23131 ์—์„œ๋„ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์ข€ ๋” ์ฐพ์•„๋ด์•ผ๊ฒ ๋„ค์š”.

์žฌํ˜„ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ
  • ํ”Œ๋Ÿฌํ„ฐ ๋Ÿฐ -v
  • ๋ณ€๊ฒฝ
  • ํ•ซ ๋ฆฌ๋กœ๋“œ ๋ณ€๊ฒฝ(r ์‚ฌ์šฉ)
  • ์•ฑ ์ค‘์ง€(q ์‚ฌ์šฉ)
  • ํ”Œ๋Ÿฌํ„ฐ ๋Ÿฐ -v
  • ๋‹ค๋ฅธ ๋ณ€๊ฒฝ
  • ํ•ซ ๋ฆฌ๋กœ๋“œ(r ์‚ฌ์šฉ)
  • ์•ฑ ์ค‘์ง€(q ์‚ฌ์šฉ)
  • ํ”Œ๋Ÿฌํ„ฐ ๋Ÿฐ -v

์ฒซ ๋ฒˆ์งธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ‘œ์‹œํ•˜๋ ค๋ฉด flutter clean์„ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ฐธ๊ณ ๋กœ ์ €๋Š” Text ์œ„์ ฏ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ •์  const ์ •์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@SUPERETDUPER ๋Š” ๋‹ค์Œ

์—ฌ๊ธฐ : https://gist.github.com/SUPERETDUPER/2b3585956f279ab5e47df431e8eda113
...
439 ์—…๋ฐ์ดํŠธ๋œ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ dart๋ฅผ ์ปค๋„๋กœ ์ปดํŒŒ์ผ

์ด๊ฒƒ์€ flutter run -v ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ ์•ฑ์„ ๋‹ค์‹œ ๋นŒ๋“œํ–ˆ์ง€๋งŒ ๋ณ€๊ฒฝ ๋‚ด์šฉ(์ •์  const ์ •์ˆ˜?)์ด ๋ถ„๋ช…ํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ์•ฑ์ด ์‹คํ–‰๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌํ„ฐ ์ƒ˜ํ”Œ ์นด์šดํ„ฐ( flutter create sample ) ์•ฑ์—์„œ ์ด๊ฒƒ์„ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

ํ”Œ๋Ÿฌํ„ฐ ์นด์šดํ„ฐ ์ƒ˜ํ”Œ ์•ฑ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ํ•œ ๊ฒƒ์€ ์—ด ์œ„์ ฏ์— Text("Number: $number") ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๋ฟ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  static const int number = 1; ์— MyHomePageState static const int number = 1; ๋ผ์ธ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ์„ ์œ„ํ•ด 1 ๋ฅผ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์˜ˆ, ์•ฑ์ด ๋‹ค์‹œ ๋นŒ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์ง€๋งŒ ๋‘ ๋ฒˆ์งธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์—†์Šต๋‹ˆ๋‹ค.

@SUPERETDUPER ์ด๋ฆ„์— ๊ณต๋ฐฑ์ด ์žˆ๋Š” ๊ฒฝ๋กœ์˜ _์™ธ๋ถ€_ ์–ด๋”˜๊ฐ€์— ์ƒ˜ํ”Œ ํ”Œ๋Ÿฌํ„ฐ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด(์ž‘์—… ํด๋” ์ „์ฒด ๊ฒฝ๋กœ์—๋Š” IntelliJ IDEA ๊ณต๋ฐฑ์ด ์žˆ์Œ) ์˜ค๋ž˜๋œ ์•ฑ ์ƒํƒœ์—์„œ ๊ฒฝํ—˜ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š”์ง€ ํ™•์ธํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค๋ฉด ๋ชจ๋“  ์‹คํ–‰ ์‹œ๋งˆ๋‹ค flutter๊ฐ€ ๋‹ค์‹œ ๋นŒ๋“œ๋˜๋„๋ก ๊ฐ•์ œํ•˜๋Š” ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ตœ์†Œํ•œ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค๋ฉด ๋ชจ๋“  ์‹คํ–‰ ์‹œ๋งˆ๋‹ค flutter๊ฐ€ ๋‹ค์‹œ ๋นŒ๋“œ๋˜๋„๋ก ๊ฐ•์ œํ•˜๋Š” ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ตœ์†Œํ•œ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ทธ๊ฒƒ์€ ํ”Œ๋ž˜๊ทธ๋กœ ๊ฐ„๋‹จ ์•„๋‹ˆ์ง€๋งŒ, ๋‹น์‹ ์ด VS ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์‹คํ–‰ํ•˜๋Š” ์ž‘์—…์„ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค flutter clean ํ•˜๊ณ ๋กœ ์„ค์ • preLaunchTask .

.vscode/tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "flutter clean",
            "type": "shell",
            "command": "flutter clean"
        }
    ]
}

.vscode/launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Flutter",
            "request": "launch",
            "type": "dart",
            "preLaunchTask": "flutter clean"
        }
    ]
}

๋” ๋‚˜์•„๊ฐ€ clean ์ด(๊ฐ€) ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๊ธฐ๊ธฐ์—์„œ ์•ฑ์„ ์ œ๊ฑฐํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ ์•ฑ์„ ์ œ๊ฑฐํ•˜๋ ค๋ฉด flutter clean ๋ช…๋ น์„ adb ๋ช…๋ น์œผ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ์œ„์— ๋‚˜์—ด๋œ ์ž‘์—…์„ ์‹œ๋„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค!

@DanTup ์‹ค์ œ๋กœ ์•ฑ์„ ์‚ญ์ œํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋‘ ๊ฐ€์ง€ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” ๊นจ๋—ํ•˜๊ฒŒ ์‹คํ–‰ํ•ด์•ผ ํ•˜๊ณ  ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” iOS ์•ฑ์„ ์‚ญ์ œํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์กฐ๊ธˆ ๋” ํ…Œ์ŠคํŠธํ•˜๊ณ  100% ์ž‘๋™ํ•˜์ง€๋งŒ iOS์—์„œ๋งŒ ์ž‘๋™ํ•˜๋Š” ์ƒ˜ํ”Œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. Android์—์„œ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

https://github.com/szotp/flutter_stale_app

๋ฒ„๊ทธ๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ง€์นจ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
https://github.com/szotp/flutter_stale_app/blob/master/lib/main.dart#L29 -L36

ํŽธ์ง‘: ์—ฌ๊ธฐ์—์„œ ์•ฑ์ด ์ •์ง€๋œ ์ƒํƒœ์— ์žˆ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋””๋ฒ„๊ฑฐ ์ค‘๋‹จ์ ์ด ๋‚ด ์ƒ˜ํ”Œ์—์„œ ์ด๋ฅผ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด์ง€๋งŒ ์ค‘๋‹จ์ ์— ๋„๋‹ฌํ•˜์ง€ ์•Š๊ณ  ์•ฑ์„ ๊ณ ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์•ฑ์„ ์ข…๋ฃŒํ•˜๋ฉด Xcode ๋นŒ๋“œ๊ฐ€ ๋‹ค์‹œ ์‹คํ–‰๋˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘: ์•ฑ์ด ์ •์ง€๋˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด Xcode ๋นŒ๋“œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์ง€๋งŒ ์•ฑ์ด ๋ถ„๋ช…ํžˆ ์ข…๋ฃŒ๋˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘๋˜์–ด ์ด์ „์— ์ถ•์ ๋œ ๋ชจ๋“  ํ•ซ ์žฌ๋กœ๋“œ๋ฅผ ์žƒ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํฅ๋ฏธ๋กญ๊ฒŒ๋„ ์„ฑ๊ณต์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์€ ๋ฒ„์ „์œผ๋กœ ๋””๋ฒ„๊น…ํ•  ๋•Œ ๋””๋ฒ„๊ฑฐ๊ฐ€ (๋นŒ๋“œ ํด๋”์—์„œ) ์ด์ „ ์ฝ”๋“œ๋ฅผ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋นŒ๋“œ ํด๋”๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๊นŒ?

@szotp ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋‚ด MacBook์˜ iOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์— ๋Œ€ํ•œ ์ง€์นจ/์•ฑ์œผ๋กœ ์ด๊ฒƒ์„ ์ฒ˜์Œ์œผ๋กœ ์žฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

@aam @tvolkert ๋ˆ„๊ฐ€ ์ด๊ฒƒ์„ ๋ณด๊ณ  ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์‰ฝ๊ฒŒ ์žฌํ˜„๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋‚ด ์ปดํ“จํ„ฐ์— ๋Œ€ํ•œ (์›๊ฒฉ) ์•ก์„ธ์Šค๊ฐ€ ๋””๋ฒ„๊น…์— ์œ ์šฉํ•˜๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ ์ €๋ฅผ ์žก์•„์ฃผ์„ธ์š”.

@tvolkert ๊ตฌ๊ธ€ ํผ์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ? ๊ถ๊ธˆํ•ด.

์„ค๋ช…์— ๋”ฐ๋ฅด๋ฉด ์ด ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” flutter_assets ํŒŒ์ผ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋™๊ธฐํ™”๋˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@SUPERETDUPER ํ™•์‹คํ•ด! ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค: Survey.pdf . ๊ทธ๊ฒƒ์€ ๊ฝค ๋‹ค์–‘ํ•œ ๋ฐ˜์‘์„ ๋ณด์—ฌ์ฃผ๋Š”๋ฐ, ๋‚˜์—๊ฒŒ ์ด ๋ฒ„๊ทธ๋Š” ์•„๋งˆ๋„ ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ทผ๋ณธ์ ์ธ ์›์ธ์œผ๋กœ ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ ธ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค.

@sztop , ๋ฉ‹์ง„ ์žฌํ˜„ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!
https://github.com/flutter/flutter/issues/16604#issuecomment -431066044๋Š” iOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ? VSCode์—์„œ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— iOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ flutter ์•ฑ์„ ์ข…๋ฃŒ(๋‹ซ๊ธฐ)ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ฉ๋‹ˆ๊นŒ?

@aam ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•˜๋ฉด

#23268(ios ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์ˆ˜์ •) ๋ฐ #23273(๊ฒฝ๋กœ ์ˆ˜์ •์˜ ๊ณต๋ฐฑ)์ด ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ํฌํ•จ๋˜์—ˆ์œผ๋ฏ€๋กœ ๊ฐ€๋Šฅํ•˜๋ฉด ๋งˆ์Šคํ„ฐ ์ฑ„๋„์„ ์‹œ๋„ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๊ฐ์‚ฌ ํ•ด์š”!

@aam ์ด์ œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

flutter channel master ์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ์—ฌ์ „ํžˆ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋‹จ ํฌ๊ธฐํ•˜์„ธ์š” ๐Ÿ˜ข . ๋‚˜๋Š” ์šฐ๋ถ„ํˆฌ ๋จธ์‹ ์„ ๋งŒ๋“ค๊ณ  ๊ฑฐ๊ธฐ์— ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ค์ •ํ–ˆ๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

@bang88 , ๋ช…๋ น์ค„์—์„œ flutter๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ๋ณ€๊ฒฝํ•œ ํ›„ flutter run --verbose ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  gist.github.com์„ ํ†ตํ•ด ์ถœ๋ ฅ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@aam ๋กœ๊ทธ: https://gist.github.com/bang88/9b2d69d43b2cb95f008a35ae399159b8

ํ”Œ๋Ÿฌํ„ฐ ๋ฒ„์ „

~/Desktop/my_new_app 3m 34s
$ flutter doctor -v
[โœ“] Flutter (Channel master, v0.10.2-pre.21, on Mac OS X 10.14 18A389, locale
    en-CN)
    โ€ข Flutter version 0.10.2-pre.21 at /Users/bang/development/flutter
    โ€ข Framework revision 7aeb539da9 (34 hours ago), 2018-10-21 05:47:10 +0200
    โ€ข Engine revision 58cdd53f90
    โ€ข Dart version 2.1.0-dev.7.1.flutter-b99bcfd309

[โœ“] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    โ€ข Android SDK at /Users/bang/Library/Android/Sdk
    โ€ข Android NDK at /Users/bang/Library/Android/Sdk/ndk-bundle
    โ€ข Platform android-27, build-tools 27.0.3
    โ€ข ANDROID_HOME = /Users/bang/Library/Android/Sdk
    โ€ข Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
    โ€ข All Android licenses accepted.

[โœ“] iOS toolchain - develop for iOS devices (Xcode 10.0)
    โ€ข Xcode at /Applications/Xcode.app/Contents/Developer
    โ€ข Xcode 10.0, Build version 10A255
    โ€ข ios-deploy 2.0.0
    โ€ข CocoaPods version 1.5.0

[โœ“] Android Studio (version 3.0)
    โ€ข Android Studio at /Applications/Android Studio.app/Contents
    โ€ข Flutter plugin version 23.2.1
    โ€ข Dart plugin version 171.4424
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[โœ“] VS Code (version 1.28.2)
    โ€ข VS Code at /Applications/Visual Studio Code.app/Contents
    โ€ข Flutter extension version 2.19.0

[โœ“] Connected device (1 available)
    โ€ข iPhone X โ€ข 57906EE0-7FEB-487A-8698-85E91AF8B004 โ€ข ios โ€ข iOS 12.0
      (simulator)

โ€ข No issues found!

@aam ๋กœ๊ทธ: https://gist.github.com/bang88/9b2d69d43b2cb95f008a35ae399159b8

@bang88 , ์ด URL์— ๋Œ€ํ•ด 404 ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@aam Github์ด ๋‹ค์šด๋˜์—ˆ์Šต๋‹ˆ๊นŒ?

์š”์ ์„ ์ด๋ฉ”์ผ๋กœ ๋ณด๋‚ด๋“œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋˜๋Š” Github์„ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ์„œ๋ฒ„ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

@bang88 , ๋งํฌ๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•ด์„œ ์š”์ง€๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์—ˆ์–ด์š” ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์–ด๋–ค ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ( flutter run -v )? ํ”„๋กœ์ ํŠธ์˜ dart ํŒŒ์ผ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๊นŒ ์•„๋‹ˆ๋ฉด ๊ฐ€์ ธ์˜ค๋Š” ํŒจํ‚ค์ง€ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๊นŒ? build/snapshot_blob.bin.d ์—์„œ ํŽธ์ง‘ ์ค‘์ธ ํŒŒ์ผ์ด ๋ณด์ด๋‚˜์š”?
๋กœ๊ทธ์˜ Fingerprint match ๋ฉ”์‹œ์ง€๋Š” ์–ด๋–ค ์ด์œ ๋กœ ์ธํ•ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

[  +20 ms] Building Runner.app for ...
...
[ +371 ms] Skipping kernel compilation. Fingerprint match.
[ +545 ms] Building bundle

์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ?
์—๋ฎฌ๋ ˆ์ดํ„ฐ(Windows)์—์„œ ์‹ค์ œ ์žฅ์น˜(Android)๋กœ ์ „ํ™˜ํ•œ ์งํ›„์— ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
flutter clean .build flutter clean ์‚ญ์ œํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ์ด์ „ ์•ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๊ธฐ์— ์•ฑ์„ ๋‹ค์‹œ ์„ค์น˜ํ•œ ํ›„์—์•ผ ๋ชจ๋“  ๊ฒƒ์ด ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

@stannynuytkens ๋‹น์‹ ์€ ์–ด๋–ค ๋ฒ„์ „์˜ flutter๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๋ช…๋ น์ค„์—์„œ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ทธ๋ ‡๋‹ค๋ฉด ์ด์ „ ๋ช‡ ๊ฐœ์˜ ๋ฉ”์‹œ์ง€์—์„œ @aam ์˜ ์ง€์นจ์„ ๋”ฐ๋ฅด์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

  • ์ „ํ™”์—์„œ ์•ฑ ์ œ๊ฑฐ
  • ๋นŒ๋“œ ํด๋” ์‚ญ์ œ
  • ์ฝ˜์†”์—์„œ ์•ฑ ์‹คํ–‰
  • ๋กœ๋“œ๋˜๋ฉด ์•ฑ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค( q ).
  • ํŒŒ์ผ ๋ณ€๊ฒฝ(์–ด๋–ค ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€ ๊ธฐ๋กํ•ด ๋‘์‹ญ์‹œ์˜ค)
  • flutter run -verbose

์ด๊ฒƒ์ด ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ์š”์ ์—์„œ ์ตœ์ข… flutter run -verbose ์˜ ์ถœ๋ ฅ๊ณผ ์ˆ˜์ •ํ•œ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ˆ˜์ •ํ•œ ํŒŒ์ผ์ด build/snapshot_blob.bin.d /

์—…๋ฐ์ดํŠธ: ์„ค๋ฌธ์กฐ์‚ฌ ๊ฒฐ๊ณผ๋Š” https://docs.google.com/spreadsheets/d/1xCzx-Xwx0Qiv3U5GqnjwkyLlzVmcxEZ73hzQszyzhkY/preview ์—์„œ ๋ณผ ์ˆ˜

๋‹ด๋ฐฐํ”ผ๋Š” ์ด์€ ์—†๋Š”๋“ฏํ•ด์š” ๐Ÿ˜ž

๊ฐœ๋ฐœ์ž ๋˜๋Š” ๋งˆ์Šคํ„ฐ์—์„œ ์ž‘์—… ์ค‘์ด๊ณ  ๋ฌธ์ œ๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ๋ชจ๋“  ๋นŒ๋“œ ์บ์‹ฑ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค(์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ•ซ ๋ฆฌ๋กœ๋“œ ๋˜๋Š” ํ•ซ ๋ฆฌ์Šคํƒ€ํŠธ ์†๋„๊ฐ€ ๋Š๋ ค์ง€์ง€ ์•Š์Œ). ์ด๊ฒƒ์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ DISABLE_FLUTTER_BUILD_CACHE=true ๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์ƒํ™ฉ์„ ๊ฐœ์„ ํ•˜๊ฑฐ๋‚˜ ๊ฐœ์„ ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์•Œ๊ณ  ์‹ถ์ง€๋งŒ ์ด๊ฒƒ์€ v1.5.3 ์ด์ƒ์—์„œ๋งŒ ์ ์šฉ๋œ๋‹ค๋Š” ์ ์„ ๋ช…์‹ฌํ•˜์‹ญ์‹œ์˜ค.

์ด๊ฒƒ์ด #27720์— ์–ธ๊ธ‰๋œ ๋ถ€์‹ค ์ž์‚ฐ ๋ฐ ์œ ์‚ฌํ•œ ๋ฒ„๊ทธ์˜ ๊ฒฝ์šฐ๋ฅผ ์ˆ˜์ •ํ•จ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ง„ํ–‰ํ•˜๋ ค๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋นŒ๋“œ ์บ์‹ฑ์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋นŒ๋“œ ์บ์‹œ๋Š” ์ •ํ™•์„ฑ์„ ์ฆ๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๋” ๋‚˜์€ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๋ฒ”์œ„๊ฐ€ ํ™•๋ณด๋˜๋ฉด ๊ฐœ๋ณ„์ ์œผ๋กœ ๋‹ค์‹œ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.

์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ํ•œ๋™์•ˆ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์•„๋‹ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ ์ด์ƒ์ ์œผ๋กœ๋Š” ๋‹ค์Œ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ œ๊ณต๋  ๋•Œ๊นŒ์ง€ ๋ชจ๋“  ๋นŒ๋“œ ์บ์‹ฑ์„ ๋‹ค์‹œ ์ผค ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ dev ๋˜๋Š” master์— ์žˆ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ์ „ํžˆ ์ด ๋ฌธ์ œ๊ฐ€ ํ‘œ์‹œ๋˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ณด๊ณ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋ชจ๋“  ๋Š์Šจํ•œ ๋์„ ํ„ธ์–ด๋‚ด๋Š” ๋ฐ ๋งค์šฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š”์ด ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ์œผ๋ฉฐ ๋‚ด ๋™๋ฃŒ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์ผ์ฃผ์ผ ์ด์ƒ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

iOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์•ฑ์„ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์ด์ „ ๋ฒ„์ „์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํ•ซ ๋ฆฌ์Šคํƒ€ํŠธํ•˜๋ฉด ์ตœ์‹  ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. Flutter clean์€ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Android Studio, ํ„ฐ๋ฏธ๋„ ๋˜๋Š” XCode์—์„œ ์‹คํ–‰ํ•˜๋Š”์ง€ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด ์‹œ๋„ํ•œ ๋ชจ๋“  ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ IDE์—์„œ ์‹คํ–‰์„ ์‹œ๋„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌํ„ฐ ๋‹ฅํ„ฐ -v ์ถœ๋ ฅ:
[โœ“] Flutter(Mac OS X 10.14.4 18E226์—์„œ ์ฑ„๋„ ์•ˆ์ • ๋ฒ„์ „, v1.2.1, locale en-SE)
โ€ข /Users/martinlundberg/Dev/flutter์˜ Flutter ๋ฒ„์ „ 1.2.1
โ€ข ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ์ •ํŒ 8661d8aecd(2๊ฐœ์›” ์ „), 2019-02-14 19:19:53 -0800
โ€ข ์—”์ง„ ๊ฐœ์ •ํŒ 3757390fa4
โ€ข Dart ๋ฒ„์ „ 2.1.2(๋นŒ๋“œ 2.1.2-dev.0.0 0a7dcf17eb)

[โœ“] Android ํˆด์ฒด์ธ - Android ๊ธฐ๊ธฐ์šฉ ๊ฐœ๋ฐœ(Android SDK ๋ฒ„์ „ 28.0.3)
โ€ข /Users/martinlundberg/Library/Android/sdk์˜ Android SDK
โ€ข Android NDK ์œ„์น˜๊ฐ€ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์Œ(์„ ํƒ ์‚ฌํ•ญ, ๊ธฐ๋ณธ ํ”„๋กœํŒŒ์ผ๋ง ์ง€์›์— ์œ ์šฉ)
โ€ข ํ”Œ๋žซํผ android-28, ๋นŒ๋“œ ๋„๊ตฌ 28.0.3
โ€ข Java ๋ฐ”์ด๋„ˆ๋ฆฌ: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
โ€ข Java ๋ฒ„์ „ OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(๋นŒ๋“œ 1.8.0_152-release-1248-b01)
โ€ข ๋ชจ๋“  Android ๋ผ์ด์„ ์Šค๊ฐ€ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

[โœ“] iOS ํˆด์ฒด์ธ - iOS ๊ธฐ๊ธฐ์šฉ ๊ฐœ๋ฐœ(Xcode 10.2.1)
โ€ข /Applications/Xcode.app/Contents/Developer์˜ Xcode
โ€ข Xcode 10.2.1, ๋นŒ๋“œ ๋ฒ„์ „ 10E1001
โ€ข ios ๋ฐฐํฌ 1.9.4
โ€ข CocoaPods ๋ฒ„์ „ 1.5.3

[โœ“] ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค(๋ฒ„์ „ 3.3)
โ€ข /Applications/Android Studio.app/Contents์˜ Android ์ŠคํŠœ๋””์˜ค
โ€ข Flutter ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„์ „ 33.3.1
โ€ข Dart ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„์ „ 182.5215
โ€ข Java ๋ฒ„์ „ OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(๋นŒ๋“œ 1.8.0_152-release-1248-b01)

[โœ“] IntelliJ IDEA Ultimate Edition(๋ฒ„์ „ 2018.1.3)
โ€ข IntelliJ์˜ /Applications/IntelliJ IDEA.app
โ€ข Flutter ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„์ „ 29.0.2
โ€ข Dart ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„์ „ 181.4892.1

[โœ“] IntelliJ IDEA ์ปค๋ฎค๋‹ˆํ‹ฐ ์—๋””์…˜(๋ฒ„์ „ 2018.1.6)
โ€ข IntelliJ์˜ /Applications/IntelliJ IDEA CE.app
โ€ข Flutter ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„์ „ 29.0.2
โ€ข Dart ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„์ „ 181.5540.11

[โœ“] VS ์ฝ”๋“œ(๋ฒ„์ „ 1.33.1)
โ€ข /Applications/Visual Studio Code.app/Contents์˜ VS ์ฝ”๋“œ
โ€ข Flutter ํ™•์žฅ ๋ฒ„์ „ 2.25.1

[โœ“] ์—ฐ๊ฒฐ๋œ ์žฅ์น˜(2๊ฐœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
โ€ข x86์šฉ์œผ๋กœ ๋นŒ๋“œ๋œ Android SDK โ€ข emulator-5554 โ€ข android-x86 โ€ข Android 9(API 28)(์—๋ฎฌ๋ ˆ์ดํ„ฐ)
โ€ข ์•„์ดํฐ 6 โ€ข 63E1705F-F8E7-4916-8C58-D2307D217DCD โ€ข ios โ€ข com.apple.CoreSimulator.SimRuntime.iOS-12-2(์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ)

โ€ข ๋ฐœ๊ฒฌ๋œ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค!

์ด ์ˆ˜์ • ์‚ฌํ•ญ์€ ~ 1.5 ์ด์ƒ์—๋งŒ ์žˆ์œผ๋ฏ€๋กœ 1.2.1์—๋„ ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ์ด ํšจ๊ณผ๊ฐ€ ์—†๋‹ค๋Š” ์‚ฌ์‹ค์— ๋†€๋ž์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๋„ค ์ €๋„ ๋†€๋ž์Šต๋‹ˆ๋‹ค.

์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด๋„ ๋ถˆํ–‰ํžˆ๋„ ์•„๋ฌด ๊ฒƒ๋„ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ํ•ซ ๋ฆฌ์Šคํƒ€ํŠธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ตœ์‹  ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” runApp ์ „์— ์„ค์ •ํ•œ ํ™˜๊ฒฝ ์„ค์ •์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ~1.5๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๊นŒ?

๋‹ค๋ฅด๊ฒŒ ๊ตฌ์„ฑ๋œ ๋นŒ๋“œ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ํŠนํžˆ foo/ ๊ฐ€ ํ”Œ๋Ÿฌํ„ฐ ํ”„๋กœ์ ํŠธ์˜ ๋ฃจํŠธ์ธ ๊ฒฝ์šฐ foo/build ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด ์ˆ˜๋™์œผ๋กœ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋˜ํ•œ ๋‚ด๊ฐ€ ์ฐฉ๋ฅ™ ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์ด v1.5.8๋กœ ํƒœ๊ทธ๊ฐ€ ์ง€์ •๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

์˜ˆ, flutter clean์€ ๋นŒ๋“œ ํด๋”๋ฅผ ์‚ญ์ œํ•œ ๋‹ค์Œ ๋นŒ๋“œํ•˜๊ณ  ๋‹ค์‹œ ์‹คํ–‰ํ•  ๋•Œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@molundb๊ฐ€ ์ผ๋‹ค

๋‚˜๋Š”์ด ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ์œผ๋ฉฐ ๋‚ด ๋™๋ฃŒ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์ผ์ฃผ์ผ ์ด์ƒ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์–ธ์ œ ์‹œ์ž‘ํ–ˆ๋Š”์ง€ ์•„์„ธ์š”? ๊ทธ ์ „์— ์ด์ „ ๋ฒ„์ „์˜ flutter๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ์ผ์ฃผ์ผ ์ „์— ๋‹ค๋ฅธ ๊ฒƒ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๊นŒ?

iOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์•ฑ์„ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์ด์ „ ๋ฒ„์ „์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. NS

iOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ์‹ค์ œ iOS ๊ธฐ๊ธฐ๋‚˜ Android sim/๊ธฐ๊ธฐ์—์„œ๋„ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ?

flutter run -v ๋ช…๋ น์ค„์—์„œ ์‹คํ–‰ํ•  ๋•Œ ์ด๊ฒƒ์„ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด https://gist.github.com/์— flutter run -v ์ถœ๋ ฅ์„ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ๊ณ  ์—ฌ๊ธฐ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ธฐ๋ณธ์ ์œผ๋กœ ๋นŒ๋“œ ํด๋” flutter run -v ์•ฑ์„ ์ •๋ฆฌํ•˜๊ณ , ๋ณ€๊ฒฝํ•˜๊ณ , ํ•ซ ๋ฆฌ๋กœ๋“œํ•˜๊ณ , ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•˜๋ฉด ํ•ด๋‹น ๋กœ๊ทธ๊ฐ€ ๋งค์šฐ ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@molundb
์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์•ฑ์„ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ด ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์žกํžˆ์ง€ ์•Š์€ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@titonton
ํŒ์„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•˜์ง€๋งŒ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์— ๋Œ€ํ•ด ํ•˜๋“œ์›จ์–ด -> ๋ชจ๋“  ์ฝ˜ํ…์ธ  ๋ฐ ์„ค์ • ์ง€์šฐ๊ธฐ...๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

@aam

์–ธ์ œ ์‹œ์ž‘ํ–ˆ๋Š”์ง€ ์•„์„ธ์š”? ๊ทธ ์ „์— ์ด์ „ ๋ฒ„์ „์˜ flutter๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ์ผ์ฃผ์ผ ์ „์— ๋‹ค๋ฅธ ๊ฒƒ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๊นŒ?

๋„ˆ๋ฌด ์˜ค๋ž˜ ์ „์ด๋ผ ์–ธ์ œ ์‹œ์ž‘๋˜์—ˆ๋Š”์ง€, ๋ถˆํ–‰ํ•˜๊ฒŒ๋„ ์›์ธ์ด ๋ฌด์—‡์ธ์ง€ ๋งํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ผ์ด ์‹œ์ž‘๋œ ํ›„ ์ ์–ด๋„ ํ•œ ๋ฒˆ์€ flutter๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

iOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ์‹ค์ œ iOS ๊ธฐ๊ธฐ๋‚˜ Android sim/๊ธฐ๊ธฐ์—์„œ๋„ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ?

Android sim ๋˜๋Š” ์žฅ์น˜์—์„œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์ง€๊ธˆ iOS ๊ธฐ๊ธฐ๋ฅผ ์ถฉ์ „ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ๋นŒ๋“œ ํด๋”๋ฅผ ์ •๋ฆฌํ•˜๊ณ  -v ์•ฑ์„ ์‹คํ–‰ํ•˜๊ณ , ๋ณ€๊ฒฝํ•˜๊ณ , ํ•ซ ๋ฆฌ๋กœ๋“œํ•˜๊ณ , ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ํ•ด๋‹น ๋กœ๊ทธ์— ๋Œ€ํ•œ ๋กœ๊ทธ๋ฅผ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋งค์šฐ ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

https://gist.github.com/molundb/cda4caa4e90288568db16ba9a0e962d6

์–ด๋–ค ์ด์œ ๋กœ ์ด iOS ๊ธฐ๊ธฐ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ ๊ฐ™์•„์„œ iOS ๊ธฐ๊ธฐ์— ๋Œ€ํ•œ ๊ท€ํ•˜์˜ ์งˆ๋ฌธ์— ์ง€๊ธˆ ๋‹ต๋ณ€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋””๋ฒ„๊ทธ ๋ชจ๋“œ์—์„œ Iphone 7s iPhone์˜ lib/main_dev.dart ์‹œ์ž‘ ์ค‘...
Xcode ํ”„๋กœ์ ํŠธ์—์„œ ์ง€์ •๋œ ๊ฐœ๋ฐœ ํŒ€์„ ์‚ฌ์šฉํ•˜์—ฌ ์žฅ์น˜ ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด iOS์— ์ž๋™ ์„œ๋ช…: 2NJ74JJ92A
Xcode ๋นŒ๋“œ ์‹คํ–‰ ์ค‘...
Xcode ๋นŒ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 6.9์ดˆ
iOS ์•ฑ ๋นŒ๋“œ ์‹คํŒจ
Xcode ๋นŒ๋“œ์˜ ์˜ค๋ฅ˜ ์ถœ๋ ฅ:
โ†ณ
* ๋นŒ๋“œ ์‹คํŒจ *

Xcode์˜ ์ถœ๋ ฅ:
โ†ณ
=== ๊ตฌ์„ฑ ๋””๋ฒ„๊ทธ๋กœ ํ”„๋กœ์ ํŠธ ๋Ÿฌ๋„ˆ์˜ ํƒ€๊ฒŸ ๋Ÿฌ๋„ˆ ๋นŒ๋“œ ===
Swift 4 ๋ชจ๋“œ์—์„œ Swift 3 @objc ์ถ”๋ก ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” @objc ์ถ”๋ก  ๊ฒฝ๊ณ ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  "์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Swift 3 @objc ์ถ”๋ก  ์‚ฌ์šฉ" ๋กœ๊น…์„ ํ™œ์„ฑํ™”ํ•œ ์ƒํƒœ์—์„œ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•œ ๋‹ค์Œ "Runner"์— ๋Œ€ํ•ด "Swift 3 @objc Inference" ๋นŒ๋“œ ์„ค์ •์„ "๊ธฐ๋ณธ๊ฐ’"์œผ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์ถ”๋ก ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜์„ธ์š”. ํ‘œ์ .
=== ๊ตฌ์„ฑ ๋””๋ฒ„๊ทธ๋กœ ํ”„๋กœ์ ํŠธ ๋Ÿฌ๋„ˆ์˜ ํƒ€๊ฒŸ ๋Ÿฌ๋„ˆ ๋นŒ๋“œ ===
ld: ๊ฒฝ๊ณ : /Users/martinlundberg/AndroidStudioProjects/tlycs_flutter/ios/Flutter/App.framework/App ํŒŒ์ผ ๋ฌด์‹œ, ํŒŒ์ผ์€ ๋งํฌ๋˜๋Š” ์•„ํ‚คํ…์ฒ˜๊ฐ€ ์•„๋‹Œ x86_64์šฉ์œผ๋กœ ๋นŒ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(arm64): /Users/martinlundberg/AndroidStudioProjects/tlycs_flutter/ ios/Flutter/App.framework/App
=== ๊ตฌ์„ฑ ๋””๋ฒ„๊ทธ๋กœ ํ”„๋กœ์ ํŠธ ๋Ÿฌ๋„ˆ์˜ ํƒ€๊ฒŸ ๋Ÿฌ๋„ˆ ๋นŒ๋“œ ===
๋ฌด์ง€๋ฐฉ ๋ฐ”์ด๋„ˆ๋ฆฌ /Users/martinlundberg/AndroidStudioProjects/tlycs_flutter/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/App์€ arm64๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ฆฌํฌ ์ •๋ณด ์‹คํ–‰:
๋ฌด์ง€๋ฐฉ ํŒŒ์ผ: /Users/martinlundberg/AndroidStudioProjects/tlycs_flutter/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/App is architecture: x86_64
/bin/sh ๋ช…๋ น์ด ์ข…๋ฃŒ ์ฝ”๋“œ 1๊ณผ ํ•จ๊ป˜ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.

์žฅ์น˜์— ๋Œ€ํ•ด ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋นŒ๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

iPhone 7s iPhone์—์„œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•˜๋Š” ๋™์•ˆ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

@molundb๊ฐ€ ์ผ๋‹ค

๊ธฐ๋ณธ์ ์œผ๋กœ ๋นŒ๋“œ ํด๋”๋ฅผ ์ •๋ฆฌํ•˜๊ณ  -v ์•ฑ์„ ์‹คํ–‰ํ•˜๊ณ , ๋ณ€๊ฒฝํ•˜๊ณ , ํ•ซ ๋ฆฌ๋กœ๋“œํ•˜๊ณ , ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ํ•ด๋‹น ๋กœ๊ทธ์— ๋Œ€ํ•œ ๋กœ๊ทธ๋ฅผ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋งค์šฐ ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
https://gist.github.com/molundb/cda4caa4e90288568db16ba9a0e962d6

๊ฐ์‚ฌ ํ•ด์š”! ๋”ฐ๋ผ์„œ ํ•ซ ๋ฆฌ๋กœ๋“œ/์žฌ์‹œ์ž‘์€ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€๋งŒ ์•ฑ์„ ์ค‘์ง€ํ•˜๊ณ  ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ์ด์ „ ์•ฑ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๊นŒ? flutter run -v ์˜ ์š”์ ์„ ๊ฒŒ์‹œํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ(์˜ค๋ž˜๋œ ์•ฑ์„ ๋ณด์—ฌ์ฃผ๋Š” ๋‘ ๋ฒˆ์งธ flutter run -v )?

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ  ๊ทธ ๋•Œ๋ฌธ์— ๋‚ด ์ƒ์‚ฐ์„ฑ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ •์ƒ์˜ 30%์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ ์–ด๋„ 3-4์ฃผ ๋™์•ˆ ๋” ๋‚˜์€ ๋ณ€ํ™”์˜ ์ฆ๊ฑฐ๊ฐ€ ์—†์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ทธ๊ฒƒ์„ ์ตœ์šฐ์„  ์ˆœ์œ„๋กœ ์‚ผ๊ธธ ๋ฐ”๋ž„ ๋ฟ์ž…๋‹ˆ๋‹ค. - ์ง€๊ธˆ ์ฃฝ์ด๊ณ  ์žˆ์–ด!!!

์ด์ œ ์ •์ƒ์ ์ธ ํ„ด์–ด๋ผ์šด๋“œ๊ฐ€ ๋ณด์ž…๋‹ˆ๋‹ค.

  1. ๋ชจ๋“  ์ค‘๋‹จ์  ์‚ญ์ œ
  2. ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ์„ ๋ถ€๋ฅด๋‹ค
  3. ์ฝœ๋“œ ์žฌ์‹œ์ž‘
  4. ์ค‘๋‹จ์ ์„ ๋‹ค์‹œ ํ™œ์„ฑํ™”
  5. ์กฐ๊ธˆ ์ผํ•˜๋‹ค

๋˜ํ•œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆ˜๋งŽ์€ ์ฝ˜์†” ๋ฉ”์‹œ์ง€๋„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
'''16:07:17.994 289 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: ๋ฉ”์„œ๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ: 'toStringDeep'.
16:07:17.994 290 ์ •๋ณด flutter.tools [ ] -> toStringDeep()
'''
๋‚ด ์ฝ˜์†”์˜ ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ.

๋‹ค์Œ์€ ๋งˆ์Šคํ„ฐ์˜ ์ตœ์‹  ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

C:\Projects\obdchk>ํ”Œ๋Ÿฌํ„ฐ ๋‹ฅํ„ฐ -v
[โˆš] Flutter(์ฑ„๋„ ๋งˆ์Šคํ„ฐ, v1.5.9-pre.62, Microsoft Windows [๋ฒ„์ „ 10.0.17763.437], ๋กœ์ผ€์ผ en-US)
โ€ข c:\sdks\flutter์˜ Flutter ๋ฒ„์ „ 1.5.9-pre.62
โ€ข ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ์ •ํŒ 8fd7fa492a(3์‹œ๊ฐ„ ์ „), 2019-04-29 12:59:30 -0700
โ€ข ์—”์ง„ ๋ฒ„์ „ 1ecf924ff8
โ€ข Dart ๋ฒ„์ „ 2.3.0(๋นŒ๋“œ 2.3.0-dev.0.3 c46deebfb6)

16:07:17.942 252 ์ •๋ณด flutter.tools [ +965ms] -> ๊ฒฐ๊ณผ 16e00721-c286-43e9-9460-70182643e449
16:07:17.944 253 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: Getter๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ: '์Šค๋ƒ…์ƒท'.
16:07:17.944 254 ์ •๋ณด flutter.tools [ ] -> snapshot.data
16:07:17.944 255 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^
16:07:17.944 256 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: '_HomeScreenState' ํด๋ž˜์Šค์— ๋Œ€ํ•ด getter '์Šค๋ƒ…์ƒท'์ด ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
16:07:17.944 257 ์ •๋ณด flutter.tools [ ] -> - '_HomeScreenState'๋Š” 'package:obdchk/screens/home_screen.dart'('lib/screens/home_screen.dart')์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
16:07:17.944 258 ์ •๋ณด flutter.tools [ ] -> ๊ธฐ์กด getter์˜ ์ด๋ฆ„์œผ๋กœ ์ด๋ฆ„์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ 'snapshot'์ด๋ผ๋Š” ์ด๋ฆ„์˜ getter ๋˜๋Š” ํ•„๋“œ๋ฅผ ์ •์˜ํ•˜์‹ญ์‹œ์˜ค.
16:07:17.944 259 ์ •๋ณด flutter.tools [ ] -> snapshot.data
16:07:17.944 260 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^
16:07:17.952 261 ์ •๋ณด flutter.tools [ +3 ms] -> 16e00721-c286-43e9-9460-70182643e449 build\app.dill.track.dill.incremental.dill 16
16:07:17.952 262 ์ •๋ณด flutter.tools [ +2 ms] -> ๊ฒฐ๊ณผ 1bae7b85-0d7d-48c6-a4c2-e199a261f77e
16:07:17.954 263 ์ •๋ณด flutter.tools [ +3 ms] -> 1bae7b85-0d7d-48c6-a4c2-e199a261f77e build\app.dill.track.dill.incremental.dill 16
16:07:17.955 264 ์ •๋ณด flutter.tools [ +2 ms] -> ๊ฒฐ๊ณผ 853ea583-b3e8-47a7-ae8f-6921d5f98593
16:07:17.963 265 ์ •๋ณด flutter.tools [ +2 ms] -> 853ea583-b3e8-47a7-ae8f-6921d5f98593 build\app.dill.track.dill.incremental.dill 16
16:07:17.963 266 ์ •๋ณด flutter.tools [ +1 ms] -> ๊ฒฐ๊ณผ d79513ca-38d5-4354-a47f-88ddd91741fb
16:07:17.963 267 ์ •๋ณด flutter.tools [ +3 ms] -> d79513ca-38d5-4354-a47f-88ddd91741fb build\app.dill.track.dill.incremental.dill 16
16:07:17.971 268 ์ •๋ณด flutter.tools [ +4 ms] -> ๊ฒฐ๊ณผ 2adf58bf-63cc-4eb8-b6c4-4952c2262bc3
16:07:17.971 269 ์ •๋ณด flutter.tools [ +2 ms] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: Getter๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ: '_value'.
16:07:17.971 270 ์ •๋ณด flutter.tools [ ] -> _value
16:07:17.971 271 ์ •๋ณด flutter.tools [ ] -> ^^^^^^
16:07:17.971 272 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: '_HomeScreenState' ํด๋ž˜์Šค์— ๋Œ€ํ•ด getter '_value'๊ฐ€ ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
16:07:17.971 273 ์ •๋ณด flutter.tools [ ] -> - '_HomeScreenState'๋Š” 'package:obdchk/screens/home_screen.dart'('lib/screens/home_screen.dart')์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
16:07:17.971 274 ์ •๋ณด flutter.tools [ ] -> ๊ธฐ์กด getter์˜ ์ด๋ฆ„์œผ๋กœ ์ด๋ฆ„์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ '_value'๋ผ๋Š” ์ด๋ฆ„์˜ getter ๋˜๋Š” ํ•„๋“œ๋ฅผ ์ •์˜ํ•˜์‹ญ์‹œ์˜ค.
16:07:17.971 275 ์ •๋ณด flutter.tools [ ] -> _value
16:07:17.971 276 ์ •๋ณด flutter.tools [ ] -> ^^^^^^
16:07:17.985 277 ์ •๋ณด flutter.tools [ +8 ms] -> 2adf58bf-63cc-4eb8-b6c4-4952c2262bc3 build\app.dill.track.dill.incremental.dill 18
16:07:17.985 278 ์ •๋ณด flutter.tools [ +4 ms] -> ๊ฒฐ๊ณผ 4379cbc9-98a6-4540-865a-c6c0a09aba5e
16:07:17.987 279 ์ •๋ณด flutter.tools [ +2 ms] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: Getter๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ: 'newValue'.
16:07:17.987 280 ์ •๋ณด flutter.tools [ ] -> newValue
16:07:17.987 281 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^
16:07:17.987 282 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: '_HomeScreenState' ํด๋ž˜์Šค์— ๋Œ€ํ•ด getter 'newValue'๊ฐ€ ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
16:07:17.987 283 ์ •๋ณด flutter.tools [ ] -> - '_HomeScreenState'๋Š” 'package:obdchk/screens/home_screen.dart'('lib/screens/home_screen.dart')์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
16:07:17.987 284 ์ •๋ณด flutter.tools [ ] -> ๊ธฐ์กด getter์˜ ์ด๋ฆ„์œผ๋กœ ์ด๋ฆ„์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ 'newValue'๋ผ๋Š” ์ด๋ฆ„์˜ getter ๋˜๋Š” ํ•„๋“œ๋ฅผ ์ •์˜ํ•˜์‹ญ์‹œ์˜ค.
16:07:17.987 285 ์ •๋ณด flutter.tools [ ] -> newValue
16:07:17.987 286 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^
16:07:17.994 287 ์ •๋ณด flutter.tools [ +3 ms] -> 4379cbc9-98a6-4540-865a-c6c0a09aba5e build\app.dill.track.dill.incremental.dill 20
16:07:17.994 288 ์ •๋ณด flutter.tools [ +1 ms] -> ๊ฒฐ๊ณผ 16915064-96cf-4c0c-9277-a36139fb4487
16:07:17.994 289 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: ๋ฉ”์„œ๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ: 'toStringDeep'.
16:07:17.994 290 ์ •๋ณด flutter.tools [ ] -> toStringDeep()
16:07:17.994 291 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^^^^^^^
16:07:17.994 292 ์ •๋ณด flutter.tools [ ] -> org-dartlang- debug:synthetic_debug_expression :1:1: ์˜ค๋ฅ˜: 'toStringDeep' ๋ฉ”์„œ๋“œ๊ฐ€ 'StreamValue' ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.'.
16:07:17.995 293 ์ •๋ณด flutter.tools [ ] -> - 'StreamValue'๋Š” 'package:utilities/stream/stream_value.dart'('utilities/lib/stream/stream_value.dart')์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
16:07:17.995 294 info flutter.tools [ ] -> ๊ธฐ์กด ๋ฉ”์„œ๋“œ์˜ ์ด๋ฆ„์œผ๋กœ ์ด๋ฆ„์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ 'toStringDeep'์ด๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•ด ๋ณด์„ธ์š”.
16:07:17.995 295 ์ •๋ณด flutter.tools [ ] -> toStringDeep()
16:07:17.995 296 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^^^^^^^
16:07:18.003 297 ์ •๋ณด flutter.tools [ +4 ms] -> 16915064-96cf-4c0c-9277-a36139fb4487 build\app.dill.track.dill.incremental.dill 22
16:07:18.017 298 ์ •๋ณด flutter.tools [ +15ms] -> ๊ฒฐ๊ณผ 098efd6c-f435-42a8-8ed5-cc3e79a5562f
16:07:18.017 299 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: ๋ฉ”์„œ๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ: 'toStringDeep'.
16:07:18.017 300 ์ •๋ณด flutter.tools [ ] -> toStringDeep()
16:07:18.017 301 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^^^^^^^
16:07:18.017 302 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: 'toStringDeep' ๋ฉ”์„œ๋“œ๊ฐ€ '_HomeScreenState' ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
16:07:18.017 303 ์ •๋ณด flutter.tools [ ] -> - '_HomeScreenState'๋Š” 'package:obdchk/screens/home_screen.dart'('lib/screens/home_screen.dart')์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
16:07:18.017 304 info flutter.tools [ ] -> ์ด๋ฆ„์„ ๊ธฐ์กด ๋ฉ”์„œ๋“œ์˜ ์ด๋ฆ„์œผ๋กœ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ 'toStringDeep'์ด๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•ด ๋ณด์„ธ์š”.
16:07:18.017 305 ์ •๋ณด flutter.tools [ ] -> toStringDeep()
16:07:18.017 306 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^^^^^^^
16:07:18.025 307 ์ •๋ณด flutter.tools [ +3 ms] -> 098efd6c-f435-42a8-8ed5-cc3e79a5562f build\app.dill.track.dill.incremental.dill 24
16:07:18.032 308 ์ •๋ณด flutter.tools [ +11 ms] -> ๊ฒฐ๊ณผ da8399f4-db8d-4390-956d-107016a6ea59
16:07:18.040 309 ์ •๋ณด flutter.tools [ +6 ms] -> da8399f4-db8d-4390-956d-107016a6ea59 build\app.dill.track.dill.incremental.dill 24
16:07:18.040 310 ์ •๋ณด flutter.tools [ +1 ms] -> ๊ฒฐ๊ณผ 542a3647-5840-4c9b-9588-d9f441879e12
16:07:18.040 311 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: ๋ฉ”์„œ๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ: 'toStringDeep'.
16:07:18.040 312 ์ •๋ณด flutter.tools [ ] -> toStringDeep()
16:07:18.040 313 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^^^^^^^
16:07:18.040 314 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: 'toStringDeep' ๋ฉ”์„œ๋“œ๊ฐ€ '_StateLifecycle' ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
16:07:18.040 315 ์ •๋ณด flutter.tools [ ] -> - '_StateLifecycle'์€ 'package:flutter/src/widgets/framework.dart'('file:///c:/sdks/flutter/packages/flutter /lib/src/widgets/framework.dart').
16:07:18.040 316 info flutter.tools [ ] -> ์ด๋ฆ„์„ ๊ธฐ์กด ๋ฉ”์„œ๋“œ์˜ ์ด๋ฆ„์œผ๋กœ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ 'toStringDeep'์ด๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•ด ๋ณด์„ธ์š”.
16:07:18.040 317 ์ •๋ณด flutter.tools [ ] -> toStringDeep()
16:07:18.040 318 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^^^^^^^
16:07:18.047 319 ์ •๋ณด flutter.tools [ +3 ms] -> 542a3647-5840-4c9b-9588-d9f441879e12 build\app.dill.track.dill.incremental.dill 26
16:07:18.048 320 ์ •๋ณด flutter.tools [ +1 ms] -> ๊ฒฐ๊ณผ 62d95968-c129-4d39-a840-8bdeabef1218
16:07:18.056 321 ์ •๋ณด flutter.tools [ +6 ms] -> 62d95968-c129-4d39-a840-8bdeabef1218 build\app.dill.track.dill.incremental.dill 26
16:07:18.066 322 ์ •๋ณด flutter.tools [ +2 ms] -> ๊ฒฐ๊ณผ b5818d24-c116-4f43-a769-59904f0120de
16:07:18.066 323 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: ๋ฉ”์„œ๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ: 'toStringDeep'.
16:07:18.066 324 ์ •๋ณด flutter.tools [ ] -> toStringDeep()
16:07:18.066 325 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^^^^^^^
16:07:18.066 326 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: 'toStringDeep' ๋ฉ”์„œ๋“œ๊ฐ€ 'AppBloc' ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
16:07:18.067 327 ์ •๋ณด flutter.tools [ ] -> - 'AppBloc'์€ 'ํŒจํ‚ค์ง€:elm_bluetooth_bloc/bloc/app_bloc.dart'('elm_bluetooth_bloc/lib/bloc/app_bloc.dart')์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
16:07:18.067 328 info flutter.tools [ ] -> ๊ธฐ์กด ๋ฉ”์„œ๋“œ์˜ ์ด๋ฆ„์œผ๋กœ ์ด๋ฆ„์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ 'toStringDeep'์ด๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•ด ๋ณด์„ธ์š”.
16:07:18.067 329 ์ •๋ณด flutter.tools [ ] -> toStringDeep()
16:07:18.067 330 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^^^^^^^
16:07:18.067 331 ์ •๋ณด flutter.tools [ +2 ms] -> b5818d24-c116-4f43-a769-59904f0120de build\app.dill.track.dill.incremental.dill 28
16:07:18.179 332 ์ •๋ณด runtime.gc ์ˆ˜์ง‘ ์‹œ๊ฐ„ 229ms โ€ข 46.5MB ์ค‘ 54.7MB ์‚ฌ์šฉ โ€ข ๊ฒฉ๋ฆฌ/867114562
16:07:18.250 333 ์ •๋ณด runtime.gc ์ˆ˜์ง‘ ์‹œ๊ฐ„ 235ms โ€ข 51.5MB ์ค‘ 54.7MB ์‚ฌ์šฉ โ€ข ๊ฒฉ๋ฆฌ/867114562
16:07:31.262 334 ์ •๋ณด flutter.tools [+13198 ms] -> ๊ฒฐ๊ณผ 00e09141-41b9-43e3-806d-d4725fedf81e
16:07:31.262 335 ์ •๋ณด flutter.tools [ +2 ms] -> org-dartlang-debug:synthetic_debug_expression:1:18: ์˜ค๋ฅ˜: ์‹๋ณ„์ž๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ ''๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
16:07:31.262 336 ์ •๋ณด flutter.tools [ ] -> onData != null &&
16:07:31.262 337 ์ •๋ณด flutter.tools [ ] -> ^...
16:07:31.270 338 ์ •๋ณด flutter.tools [ +6 ms] -> 00e09141-41b9-43e3-806d-d4725fedf81e build\app.dill.track.dill.incremental.dill 29
16:07:33.060 339 ์ •๋ณด flutter.tools [+1792ms] -> ๊ฒฐ๊ณผ a180ce8f-8940-46e2-b814-0e24d138f935
16:07:33.067 340 ์ •๋ณด flutter.tools [ +2 ms] -> a180ce8f-8940-46e2-b814-0e24d138f935 build\app.dill.track.dill.incremental.dill 29
16:07:38.919 341 ์ •๋ณด flutter.tools [+5854ms] -> ๊ฒฐ๊ณผ 95d4434d-929d-4504-8653-b98921661dd8
16:07:38.926 342 ์ •๋ณด flutter.tools [ +5 ms] -> 95d4434d-929d-4504-8653-b98921661dd8 build\app.dill.track.dill.incremental.dill 29
16:07:38.938 343 ์ •๋ณด flutter.tools [ +14ms] -> ๊ฒฐ๊ณผ b183ab8e-99a6-4db0-be44-310e20c62eac
16:07:38.938 344 ์ •๋ณด flutter.tools [ +1 ms] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: ๋ฉ”์„œ๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ: 'toStringDeep'.
16:07:38.938 345 ์ •๋ณด flutter.tools [ ] -> toStringDeep()
16:07:38.938 346 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^^^^^^^
16:07:38.938 347 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: 'toStringDeep' ๋ฉ”์„œ๋“œ๊ฐ€ '_Closure' ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
16:07:38.938 348 ์ •๋ณด flutter.tools [ ] -> - '_Closure'๋Š” 'dart:core'์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
16:07:38.938 349 info flutter.tools [ ] -> ์ด๋ฆ„์„ ๊ธฐ์กด ๋ฉ”์„œ๋“œ์˜ ์ด๋ฆ„์œผ๋กœ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ 'toStringDeep'์ด๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•ด ๋ณด์„ธ์š”.
16:07:38.938 350 ์ •๋ณด flutter.tools [ ] -> toStringDeep()
16:07:38.938 351 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^^^^^^^
16:07:38.946 352 ์ •๋ณด flutter.tools [ +3 ms] -> b183ab8e-99a6-4db0-be44-310e20c62eac build\app.dill.track.dill.incremental.dill 31
16:07:42.213 353 ์ •๋ณด flutter.tools [+3268 ms] I/flutter (16546): 26 2019-04-29 16:06:34.931965 FINE ui.main.dart: ์ดˆ๊ธฐ ๊ฒฝ๋กœ = null
16:07:42.232 354 ์ •๋ณด runtime.gc ์ˆ˜์ง‘ ์‹œ๊ฐ„ 250ms โ€ข 60.0MB ์ค‘ 53.1MB ์‚ฌ์šฉ โ€ข ๊ฒฉ๋ฆฌ/867114562
16:07:42.239 355 ์ •๋ณด flutter.tools [ +25ms] I/flutter (16546): 27 2019-04-29 16:06:34.957641 FINE home_screen.dart: ๋นŒ๋“œ ํ™ˆ ํ™”๋ฉด
16:07:42.355 356 ์ •๋ณด flutter.tools [ +114ms] I/flutter (16546): 28 2019-04-29 16:06:35.071358 FINE ui.main.dart: ์ดˆ๊ธฐ ๊ฒฝ๋กœ = null
16:07:42.421 357 ์ •๋ณด flutter.tools [ +65ms] I/flutter (16546): 29 2019-04-29 16:06:35.136896 FINE home_screen.dart: ๋นŒ๋“œ ํ™ˆ ํ™”๋ฉด
16:07:42.496 358 ์ •๋ณด runtime.gc ์ˆ˜์ง‘ ์‹œ๊ฐ„ 256ms โ€ข 54.5MB ์ค‘ 62.7MB ์‚ฌ์šฉ โ€ข ๊ฒฉ๋ฆฌ/867114562
16:07:42.787 359 ์ •๋ณด runtime.gc ์ˆ˜์ง‘ ์‹œ๊ฐ„ 323ms โ€ข 41.6MB ์ค‘ 52.5MB ์‚ฌ์šฉ โ€ข ๊ฒฉ๋ฆฌ/867114562
16:08:17.778 360 ์ •๋ณด flutter.tools [+35360 ms] DevFS: ์žฅ์น˜์—์„œ ํŒŒ์ผ ์‹œ์Šคํ…œ ์‚ญ์ œ(file:///data/user/0/com.cobd.obdchk/code_cache/obdchkUCQMHL/obdchk/)
16:08:17.778 361 ์ •๋ณด flutter.tools [ ] VM ์„œ๋น„์Šค๋กœ ๋ณด๋‚ด๊ธฐ: _deleteDevFS({fsName: obdchk})
16:08:17.827 362 ์ •๋ณด flutter.tools [ +46ms] ๊ฒฐ๊ณผ: {์œ ํ˜•: ์„ฑ๊ณต}
16:08:17.827 363 ์ •๋ณด flutter.tools [ ] DevFS: ์žฅ์น˜์—์„œ ์‚ญ์ œ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ(file:///data/user/0/com.cobd.obdchk/code_cache/obdchkUCQMHL/obdchk/)
16:08:17.827 364 ์ •๋ณด flutter.tools [ +1 ms] VM ์„œ๋น„์Šค๋กœ ๋ณด๋‚ด๊ธฐ: ext.flutter.exit({isolateId: isolates/867114562})
16:08:18.194 365 ์ •๋ณด flutter.tools [ +363 ms] ์„œ๋น„์Šค ํ”„๋กœํ† ์ฝœ ์—ฐ๊ฒฐ์ด ๋‹ซํ˜”์Šต๋‹ˆ๋‹ค.
16:08:19.832 366 info flutter.tools [+1639 ms] ์‹ ์ฒญ์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
16:08:19.841 367 ์ •๋ณด flutter.tools [ +7 ms] "flutter run"์€ 4,203,976ms๊ฐ€ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.
16:08:19.841 368 ์ •๋ณด flutter.tools [ ] "flutter run"์€ 4,203,976ms๊ฐ€ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

@ride4sun์ด ์ผ๋‹ค

๋‚˜๋„ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ์•ˆ๊ณ ์žˆ์–ด

ํ™•์ธ์„ ์œ„ํ•ด - ์•ฑ์„ ํ•ซ ๋ฆฌ๋กœ๋“œ/ํ•ซ ๋ฆฌ์Šคํƒ€ํŠธํ•  ์ˆ˜ ์žˆ๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ์•ฑ์„ ์ค‘์ง€ํ•˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์ž๋งˆ์ž ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ์•ฑ์ด ์ด ์ƒํƒœ๊ฐ€ ๋˜๋ฉด ๋ช…๋ น์ค„ ์ฐฝ์—์„œ ๋ฐœํ–‰๋œ flutter run -v ์˜ ๋กœ๊ทธ(์š”์ )๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆ˜๋งŽ์€ ์ฝ˜์†” ๋ฉ”์‹œ์ง€๋„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
'''16:07:17.994 289 ์ •๋ณด flutter.tools [ ] -> org-dartlang-debug:synthetic_debug_expression:1:1: ์˜ค๋ฅ˜: ๋ฉ”์„œ๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ: 'toStringDeep'.
16:07:17.994 290 ์ •๋ณด flutter.tools [ ] -> toStringDeep()
'''

์–ด๋–ค IDE๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๊นŒ? ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํƒ์ƒ‰ํ•  ๋•Œ ๋‹ค์–‘ํ•œ ํ‘œํ˜„์‹์„ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด IDE๊ฐ€ ๋ฐœํ–‰ํ•˜๋Š” ๋ชจ๋“  ์ฃผ๋ฌธํ˜• ์ปดํŒŒ์ผ ํ‘œํ˜„์‹ ์š”์ฒญ์„ ๋คํ”„ํ•˜๋Š” ์ƒ์„ธ ๋ชจ๋“œ์—์„œ flutter/ide๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Verbose ๋ชจ๋“œ๊ฐ€ ๋„ˆ๋ฌด ์ž์„ธํ•œ ๊ฒƒ์€ ์˜ˆ์ƒ๋Œ€๋กœ์ด์ง€๋งŒ ๊ตฌ์„ฑ์—์„œ ์ผœ์ ธ ์žˆ๋Š” ์ด์œ ๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ™•์ธ์„ ์œ„ํ•ด - ์•ฑ์„ ํ•ซ ๋ฆฌ๋กœ๋“œ/ํ•ซ ๋ฆฌ์Šคํƒ€ํŠธํ•  ์ˆ˜ ์žˆ๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ์ค‘์ง€ํ•˜์ž๋งˆ์ž
์•ฑ์„ ์‹คํ–‰ํ•˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

๊ทธ๊ฒŒ ๋งž๋‹ค๊ณ  ์ƒ๊ฐํ•ด์š”. ๊ทธ๊ฑด ์ข€ ๋” ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์—ฌ์•ผ ํ•ด์š”.

Flutter run -v์˜ ๋กœ๊ทธ(์š”์ )๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด > ์•ฑ์ด > ์ด ์ƒํƒœ๊ฐ€ ๋˜๋ฉด ๋ช…๋ น์ค„ ์ฐฝ์—์„œ ๋ฐœํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•Œ์•˜์–ด ํ• ๊ฒŒ

์–ด๋–ค IDE๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๊นŒ?

์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค

๋ชจ๋“  ์ฃผ๋ฌธํ˜•์„ ๋คํ”„ํ•˜๋Š” ์ƒ์„ธ ๋ชจ๋“œ์—์„œ flutter/ide๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ปดํŒŒ์ผ ํ‘œํ˜„์‹์€ IDE๊ฐ€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํƒ์ƒ‰ํ•  ๋•Œ ๋‹ค์–‘ํ•œ ํ‘œํ˜„์‹์„ ํ‰๊ฐ€ํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. Verbose ๋ชจ๋“œ๊ฐ€ ๋„ˆ๋ฌด ์ž์„ธํ•œ ๊ฒƒ์€ ์˜ˆ์ƒ๋Œ€๋กœ์ด์ง€๋งŒ > ๊ตฌ์„ฑ์—์„œ ์ผœ์ ธ ์žˆ๋Š” ์ด์œ ๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ๋ณธ ํ›„ ์ž์„ธํ•œ ์ •๋ณด ํ‘œ์‹œ๋ฅผ ์ผฐ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ 'toStringDeep' ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ์‹œ์  ์‚ฌ์ด์—๋Š” ์ƒ๊ด€ ๊ด€๊ณ„๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

                                                             toStringDeep()

16:07:38.938 346 ์ •๋ณด flutter.tools [ ] -> ^^^^^^^^^^^^^^

@aam

๊ฐ์‚ฌ ํ•ด์š”! ๋”ฐ๋ผ์„œ ํ•ซ ๋ฆฌ๋กœ๋“œ/์žฌ์‹œ์ž‘์€ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€๋งŒ ์•ฑ์„ ์ค‘์ง€ํ•˜๊ณ  ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ์ด์ „ ์•ฑ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๊นŒ? flutter run -v ์˜ ์š”์ ์„ ๊ฒŒ์‹œํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ(์˜ค๋ž˜๋œ ์•ฑ์„ ๋ณด์—ฌ์ฃผ๋Š” ๋‘ ๋ฒˆ์งธ flutter run -v )?

์•ฑ์„ ์‹œ์ž‘ํ•  ๋•Œ๋งˆ๋‹ค ์ด์ „ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํ•ซ ๋ฆฌ๋กœ๋”ฉ์€ ์•„๋ฌด ๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ํ•ซ ๋ฆฌ์Šคํƒ€ํŠธ์ž…๋‹ˆ๋‹ค. ๊ทธ ํ›„ ํ•ซ ๋ฆฌ๋กœ๋”ฉ์€ ํ‰์†Œ์™€ ๊ฐ™์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์„ ์ค‘์ง€ํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด ์ด์ „ ์ฝ”๋“œ๊ฐ€ ๋‹ค์‹œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

https://gist.github.com/molundb/7020ff1e43e28fd3e2d0326cd0b957ae

@molundb๊ฐ€ ์ผ๋‹ค

์•ฑ์„ ์‹œ์ž‘ํ•  ๋•Œ๋งˆ๋‹ค ์ด์ „ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์•ฑ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์ผ๋ถ€ ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ฉ๋‹ˆ๊นŒ? ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์•ฑ์„ ์‚ญ์ œํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”?

์ตœ์‹  ๋ฒ ํƒ€๋‚˜ ๊ฐœ๋ฐœ์ž๋„ ๊ฐ™์ด ์˜ฌ๋ ค์ฃผ์‹œ๋ฉด ๋ฌธ์ œ ํ•ด๊ฒฐ์ด ๋” ์‰ฌ์šธ ๊ฒƒ ๊ฐ™์•„์š”.

๋˜ํ•œ ์ƒ˜ํ”Œ(ํ”Œ๋Ÿฌํ„ฐ ๊ฐค๋Ÿฌ๋ฆฌ)์„ ํŽธ์ง‘ํ•˜๊ณ  ๋‹ค์‹œ ๋กœ๋“œํ•  ๋•Œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋กœ๊ทธ๋ฅผ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์ค„์—์„œ ์ด์ƒ์ ์œผ๋กœ๋Š” ์ค‘์ง€ํ–ˆ๋‹ค๊ฐ€ ์‹œ์ž‘ํ•˜์„ธ์š”.

@aam์ด ์ผ๋‹ค

์•ฑ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์ผ๋ถ€ ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ฉ๋‹ˆ๊นŒ?

ํ•ด๋ดค๋Š”๋ฐ ๋ณ„์ฐจ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ์ด์ „ ์ฝ”๋“œ๊ฐ€ ๊ณ„์† ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์•ฑ์„ ์‚ญ์ œํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”?

ํ•ด๋ดค๋Š”๋ฐ ๋ณ„์ฐจ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ์ด์ „ ์ฝ”๋“œ๊ฐ€ ๊ณ„์† ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ตœ์‹  ๋ฒ ํƒ€๋‚˜ ๊ฐœ๋ฐœ์ž๋„ ๊ฐ™์ด ์˜ฌ๋ ค์ฃผ์‹œ๋ฉด ๋ฌธ์ œ ํ•ด๊ฒฐ์ด ๋” ์‰ฌ์šธ ๊ฒƒ ๊ฐ™์•„์š”.

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฒ ํƒ€๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ƒ˜ํ”Œ(ํ”Œ๋Ÿฌํ„ฐ ๊ฐค๋Ÿฌ๋ฆฌ)์„ ํŽธ์ง‘ํ•˜๊ณ  ๋‹ค์‹œ ๋กœ๋“œํ•  ๋•Œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋กœ๊ทธ๋ฅผ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์ค„์—์„œ ์ด์ƒ์ ์œผ๋กœ๋Š” ์ค‘์ง€ํ–ˆ๋‹ค๊ฐ€ ์‹œ์ž‘ํ•˜์„ธ์š”.

Flutter ๊ฐค๋Ÿฌ๋ฆฌ ์•ฑ์„ ์‹คํ–‰ํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
https://gist.github.com/molundb/075ba9d05e0516b7787a0570a97d05ef

@molundb๊ฐ€ ์ผ๋‹ค

์•ฑ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์ผ๋ถ€ ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ฉ๋‹ˆ๊นŒ?

ํ•ด๋ดค๋Š”๋ฐ ๋ณ„์ฐจ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ์ด์ „ ์ฝ”๋“œ๊ฐ€ ๊ณ„์† ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ผ๋ถ€ ์†Œ์Šค ์ฝ”๋“œ ๋ณ€๊ฒฝ ํ›„ ์‹คํ–‰ ๋กœ๊ทธ๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํŽธ์ง‘ํ•˜๋”๋ผ๋„ ์ดˆ๊ธฐ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์— ๋Œ€ํ•œ ๋กœ๊ทธ์— Skipping kernel compilation. Fingerprint match. ๊ฐ€ ์žˆ์œผ๋ฉด ์–ด๋–ป๊ฒŒ ๋“  ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด๋‚˜ ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ๋ณด๊ณ ํ•˜์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ์†Œ์Šค๋ฅผ ๋ณด๊ณ  ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํŽธ์ง‘ํ•œ ํŒŒ์ผ์— ์—…๋ฐ์ดํŠธ๋œ ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? beta / dev ๋ฒ„์ „์€ ์ปดํŒŒ์ผ์— ์‚ฌ์šฉ๋œ ์†Œ์Šค ๋ชฉ๋ก์„ ๋ณด๊ณ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŽธ์ง‘ํ•œ ํŒŒ์ผ์ด ๊ฑฐ๊ธฐ์— ๋‚˜์—ด๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
flutter clean ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด(๋˜๋Š” build/ ํด๋” ์ œ๊ฑฐ) - ๋‹ค์Œ์— ์•ฑ์„ ์‹คํ–‰ํ•  ๋•Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๊ณ ์žฅ๋‚œ ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๊นŒ? ์•ฑ์„ ์ค‘์ง€ํ•˜๊ณ  ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์•ฑ์„ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ ๊ทธ ์‹œ์ ์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

Flutter ๊ฐค๋Ÿฌ๋ฆฌ ์•ฑ์„ ์‹คํ–‰ํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ข‹์Šต๋‹ˆ๋‹ค. ์ตœ์†Œํ•œ ํ•ฉ๋ฆฌ์ ์ธ ๊ธฐ๋ฐ˜์„ ๋งˆ๋ จํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌํ„ฐ ๊ฐค๋Ÿฌ๋ฆฌ ์˜ˆ์ œ์™€ ์ปดํ“จํ„ฐ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ •์„ ๋น„๊ตํ•˜๋ฉด ์•ฑ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ์— ๋Œ€ํ•œ ํ†ต์ฐฐ๋ ฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์„๊นŒ์š”? ๋‘˜ ๋‹ค ๋™์ผํ•œ ๋””์Šคํฌ/ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ํ˜ธ์ŠคํŒ…๋ฉ๋‹ˆ๊นŒ?

์ปค๋„ ์ปดํŒŒ์ผ ๊ฑด๋„ˆ๋›ฐ๊ธฐ. ์ง€๋ฌธ ์ผ์น˜

๋ชจ๋“  ์ง€๋ฌธ ์ธ์‹๊ธฐ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ˆ˜์ • ์‚ฌํ•ญ์„ ํ†ต๊ณผํ•œ ๊ฒฝ์šฐ ํ‘œ์‹œ๋˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@aam

์ผ๋ถ€ ์†Œ์Šค ์ฝ”๋“œ ๋ณ€๊ฒฝ ํ›„ ์‹คํ–‰ ๋กœ๊ทธ๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ปค๋„ ์ปดํŒŒ์ผ ๊ฑด๋„ˆ๋›ฐ๊ธฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ. ์ง€๋ฌธ ์ผ์น˜. ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํŽธ์ง‘ํ•˜๋”๋ผ๋„ ์ดˆ๊ธฐ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘ ๋กœ๊ทธ์˜จ์—์„œ ์–ด๋–ป๊ฒŒ ๋“  ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด๋‚˜ ํ”Œ๋Ÿฌํ„ฐ๋ฅผ๋ณด๊ณ ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋‹ค๋ฅธ ์†Œ์Šค๋ฅผ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ปค๋„ ์ปดํŒŒ์ผ ๊ฑด๋„ˆ๋›ฐ๊ธฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ง€๋ฌธ ์ผ์น˜.

ํŽธ์ง‘ํ•œ ํŒŒ์ผ์— ์—…๋ฐ์ดํŠธ๋œ ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋ฒ ํƒ€/๊ฐœ๋ฐœ ๋ฒ„์ „์€ ์ปดํŒŒ์ผ์— ์‚ฌ์šฉ๋œ ์†Œ์Šค ๋ชฉ๋ก์„ ๋ณด๊ณ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŽธ์ง‘ํ•œ ํŒŒ์ผ์ด ๊ฑฐ๊ธฐ์— ๋‚˜์—ด๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ํƒ€์ž„์Šคํƒฌํ”„๋Š” ์–ด๋””์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‚˜์š”? ์ถœ๋ ฅ์—์„œ ๋‚ด๊ฐ€ ํŽธ์ง‘ํ•œ ํŒŒ์ผ์ด ๋‘ ๋ฒˆ ๋‚˜์—ด๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ํŽธ์ง‘๋˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ํŒŒ์ผ๋„ ๋งŽ์ด ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค.

์ด ํŒŒ์ผ์„ ํŽธ์ง‘ํ–ˆ์Šต๋‹ˆ๋‹ค: /Users/martinlundberg/AndroidStudioProjects/tlycs_flutter/lib/screens/settings_page/SettingsPage.dart

์ถœ๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
https://gist.github.com/molundb/146a46aa7c2e1a6fc81071b4d23561d1

ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ(๋˜๋Š” ๋นŒ๋“œ/ํด๋” ์ œ๊ฑฐ)์„ ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? - ๋‹ค์Œ์— ์•ฑ์„ ์‹คํ–‰ํ•  ๋•Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ๋‚˜์š”? ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๊ณ ์žฅ๋‚œ ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๊นŒ? ์•ฑ์„ ์ค‘์ง€ํ•˜๊ณ  ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์•ฑ์„ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ ๊ทธ ์‹œ์ ์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

์•„๋‹ˆ์š”, ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ์€ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ „ ์ฝ”๋“œ๋Š” ์—ฌ์ „ํžˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์•ฑ์ด ์ค‘์ง€๋˜๊ณ  ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๊นจ์ง„ ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ํ•ซ ์žฌ์‹œ์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ๊นจ์ง„ ์ƒํƒœ๊ฐ€ ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค.

์ข‹์Šต๋‹ˆ๋‹ค. ์ตœ์†Œํ•œ ํ•ฉ๋ฆฌ์ ์ธ ๊ธฐ๋ฐ˜์„ ๋งˆ๋ จํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌํ„ฐ ๊ฐค๋Ÿฌ๋ฆฌ ์˜ˆ์ œ์™€ ์ปดํ“จํ„ฐ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ •์„ ๋น„๊ตํ•˜๋ฉด ์•ฑ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ์— ๋Œ€ํ•œ ํ†ต์ฐฐ๋ ฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์„๊นŒ์š”? ๋‘˜ ๋‹ค ๋™์ผํ•œ ๋””์Šคํฌ/ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ํ˜ธ์ŠคํŒ…๋ฉ๋‹ˆ๊นŒ?

์˜ˆ, ๋‘˜ ๋‹ค ๋™์ผํ•œ ๋””์Šคํฌ์—์„œ ํ˜ธ์ŠคํŒ…๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ฐจ์ด์ ์€ ๋ฌด์—‡์„ ๋ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.
๋‹น์‹ ์€ ์–ด๋–ค ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ํƒ€์ž„์Šคํƒฌํ”„๋Š” ์–ด๋””์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‚˜์š”? ์ถœ๋ ฅ์—์„œ ๋‚ด๊ฐ€ ํŽธ์ง‘ํ•œ ํŒŒ์ผ์ด ๋‘ ๋ฒˆ ๋‚˜์—ด๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ํŽธ์ง‘๋˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ํŒŒ์ผ๋„ ๋งŽ์ด ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ls -al {filename} ํ„ฐ๋ฏธ๋„ ์…ธ์—์„œ ์–ป์€ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
ํŒŒ์ผ ๋ชฉ๋ก์€ ํŽธ์ง‘ ์ค‘์ธ ํŒŒ์ผ์ด ์ปดํŒŒ์ผ ์ค‘์ธ ํŒŒ์ผ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์•„๋‹ˆ์š”, ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ์€ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ „ ์ฝ”๋“œ๋Š” ์—ฌ์ „ํžˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์•ฑ์ด ์ค‘์ง€๋˜๊ณ  ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๊นจ์ง„ ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ํ•ซ ์žฌ์‹œ์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ๊นจ์ง„ ์ƒํƒœ๊ฐ€ ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ƒํƒœ A์—์„œ ์•ฑ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค(๋ฐฐ๊ฒฝ์ƒ‰์ด ํšŒ์ƒ‰์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค) - flutter run -v ํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌํ„ฐ ์†Œ์Šค ์ฝ”๋“œ(์ƒํƒœ B)๋ฅผ ํŽธ์ง‘ํ•˜๊ณ (์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐฐ๊ฒฝ์ƒ‰์ด ๋นจ๊ฐ„์ƒ‰์ด ๋˜๋„๋ก), ํ•ซ ๋ฆฌ๋กœ๋“œ(ํ”Œ๋Ÿฌํ„ฐ ๋ช…๋ น์ค„ ํ„ฐ๋ฏธ๋„ ์„ธ์…˜์—์„œ 'r'), ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ณด์ด๋‚˜์š”? ์•ฑ์„ ์ค‘์ง€ํ•˜๊ณ ( flutter run ์ข…๋ฃŒ) ๋‹ค์‹œ ์‹œ์ž‘( flutter run -v , ์ƒํƒœ A ๋˜๋Š” ์ƒํƒœ B๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๊นŒ? ์—ฌ์ „ํžˆ A๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด iPhone ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์•ฑ์„ ์ œ๊ฑฐํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ํ•ฉ๋‹ˆ๊นŒ? flutter clean , ๋‹ค์‹œ flutter run ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ž˜๋„ A?

@aam

์˜ˆ๋ฅผ ๋“ค์–ด ls -al {filename} ํ„ฐ๋ฏธ๋„ ์…ธ์—์„œ ์–ป์€ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
ํŒŒ์ผ ๋ชฉ๋ก์€ ํŽธ์ง‘ ์ค‘์ธ ํŒŒ์ผ์ด ์ปดํŒŒ์ผ ์ค‘์ธ ํŒŒ์ผ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์˜ค! ์ด์ „์—๋Š” ๊ทธ ๋ช…๋ น์— ๋Œ€ํ•ด ๋ชฐ๋ž์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์‹œ๋„ํ–ˆ๊ณ  ์‹ค์ œ๋กœ ํŒŒ์ผ์ด ์—…๋ฐ์ดํŠธ๋  ๋•Œ ์•Œ์•„์ฐจ๋ฆฌ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ํ•ซ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š” ํ•œ ์ด์ „ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ํ„ฐ๋ฏธ๋„์˜ ์ถœ๋ ฅ์ž…๋‹ˆ๋‹ค.

Sebastians-MacBook-Pro-Retina-2016:tlycs_flutter martinlundberg$ ls -al lib/widgets/FeedbackButton.dart 
-rw-r--r--  1 martinlundberg  staff  1051 May  6 09:33 lib/widgets/FeedbackButton.dart
Sebastians-MacBook-Pro-Retina-2016:tlycs_flutter martinlundberg$ ls -al lib/widgets/FeedbackButton.dart 
-rw-r--r--  1 martinlundberg  staff  1053 May  7 11:00 lib/widgets/FeedbackButton.dart

๊ทธ๋ž˜์„œ ๋‹น์‹ ์€ ์ƒํƒœ A์—์„œ ์•ฑ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค(๋ฐฐ๊ฒฝ์ƒ‰์ด ํšŒ์ƒ‰์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค) - ๋‹น์‹ ์€ flutter run -v๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.

์™„๋ฃŒ.

ํ”Œ๋Ÿฌํ„ฐ ์†Œ์Šค ์ฝ”๋“œ(์ƒํƒœ B)๋ฅผ ํŽธ์ง‘ํ•˜๊ณ (์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐฐ๊ฒฝ์ƒ‰์ด ๋นจ๊ฐ„์ƒ‰์ด ๋˜๋„๋ก), ํ•ซ ๋ฆฌ๋กœ๋“œ(ํ”Œ๋Ÿฌํ„ฐ ๋ช…๋ น์ค„ ํ„ฐ๋ฏธ๋„ ์„ธ์…˜์—์„œ 'r'), ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ณด์ด๋‚˜์š”?

๋ณ€๊ฒฝ ์—†์Œ.

์•ฑ์„ ์ค‘์ง€ํ•˜๊ณ (flutter run ์ข…๋ฃŒ) ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค(flutter run -v, ์ƒํƒœ A ๋˜๋Š” ์ƒํƒœ B๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๊นŒ?

NS.

๊ทธ๋ž˜๋„ A๊ฐ€ ๋ณด์ด๋ฉด ์•„์ดํฐ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์•ฑ์„ ์ œ๊ฑฐํ•˜๊ณ  ํ”Œ๋Ÿฌํ„ฐ ์ฒญ์†Œ๋ฅผ ํ•˜๊ณ  ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๊ทธ๋ž˜๋„ A?

ํฅ๋ฏธ๋กญ๊ฒŒ๋„ ์ด๋ฒˆ์—๋Š” ๋งˆ์ง€๋ง‰ flutter run -v๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ์•ฑ์ด ์ถฉ๋Œํ•˜๊ณ  ๋นŒ๋“œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์•„๋ฌด ๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ–ˆ๋”๋‹ˆ ์ƒํƒœ A๊ฐ€ ๋‹ค์‹œ ๋นŒ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ•ซ ๋ฆฌ๋กœ๋“œํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ A์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ•ซ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ์ƒํƒœ B๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋ชจ๋“  ์ถœ๋ ฅ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

https://gist.github.com/molundb/ddfd07e7fd1691f8b3992c207b7ac80f

์ง€๊ธˆ๊นŒ์ง€ ๋งŽ์€ ๋„์›€์„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ์šฐ๋ฆฌ์—๊ฒŒ ์ค‘์š”ํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

@molundb๊ฐ€ ์ผ๋‹ค

๊ทธ๋ž˜๋„ A๊ฐ€ ๋ณด์ด๋ฉด ์•„์ดํฐ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์•ฑ์„ ์ œ๊ฑฐํ•˜๊ณ  ํ”Œ๋Ÿฌํ„ฐ ์ฒญ์†Œ๋ฅผ ํ•˜๊ณ  ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๊ทธ๋ž˜๋„ A?

ํฅ๋ฏธ๋กญ๊ฒŒ๋„ ์ด๋ฒˆ์—๋Š” ๋งˆ์ง€๋ง‰ flutter run -v๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ์•ฑ์ด ์ถฉ๋Œํ•˜๊ณ  ๋นŒ๋“œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์•„๋ฌด ๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ–ˆ๋”๋‹ˆ ์ƒํƒœ A๊ฐ€ ๋‹ค์‹œ ๋นŒ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ•ซ ๋ฆฌ๋กœ๋“œํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ A์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ•ซ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ์ƒํƒœ B๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋ชจ๋“  ์ถœ๋ ฅ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

๊ทธ๋ž˜์„œ ๋‹น์‹ ์€ ์ƒํƒœ A์— ์˜๊ตฌ์ ์œผ๋กœ ๊ฐ‡ํžŒ ๊ฒƒ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค. ๋งž์Šต๋‹ˆ๊นŒ? ์ƒํƒœ A์—์„œ ์‹œ์ž‘ํ•œ ๋‹ค์Œ ์•ฑ์„ ์ฆ‰์‹œ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š” ํ•œ ์ ์šฉ๋˜๋Š” ์•ฑ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์—†์ง€๋งŒ ์•ฑ์„ ์ค‘์ง€ํ•œ ํ›„์—๋Š” ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค. xcodeproject ์„ค์ • ๋ฌธ์ œ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค. flutter create myproject ๋ฅผ ํ†ตํ•ด ์ƒˆ flutter ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ ํ•ด๋‹น myproject flutter/dart ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•˜๊ณ  myproject ์—์„œ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@aam @molundb ์‚ฌ์šฉ ํ•œ์ง€ ์˜ค๋ž˜ ๋˜์–ด์„œ ์˜ค๋ž˜ ๋์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ flutter run --bug-report ์—ฌ๊ธฐ์—์„œ ์œ ์šฉํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„๊ทธ ๋ณด๊ณ ์„œ zip ํŒŒ์ผ์„ ์–ด๋Š ์ •๋„ ์ •์ƒ์ ์ธ ํฌ๊ธฐ๋กœ ์œ ์ง€ํ•˜๋ ค๋ฉด ์•ฑ์„ ๊ฝค ๋นจ๋ฆฌ ์ข…๋ฃŒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜„

@aam

๊ทธ๋ž˜์„œ ๋‹น์‹ ์€ ์ƒํƒœ A์— ์˜๊ตฌ์ ์œผ๋กœ ๊ฐ‡ํžŒ ๊ฒƒ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค. ๋งž์Šต๋‹ˆ๊นŒ? ์ƒํƒœ A์—์„œ ์‹œ์ž‘ํ•œ ๋‹ค์Œ ์•ฑ์„ ์ฆ‰์‹œ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š” ํ•œ ์ ์šฉ๋˜๋Š” ์•ฑ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์—†์ง€๋งŒ ์•ฑ์„ ์ค‘์ง€ํ•œ ํ›„์—๋Š” ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

์ •ํ™•ํžˆ.

xcodeproject ์„ค์ • ๋ฌธ์ œ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค. flutter create myproject๋ฅผ ํ†ตํ•ด ์ƒˆ flutter ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ, ํ•ด๋‹น myproject์— flutter/dart ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•˜๊ณ  myproject์—์„œ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ข‹์•„, ๋จผ์ € ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ lib, assets, pubspec.yaml, pubspec.lock, package-lock.json ๋ฐ GoogleService-Info.plist๋ฅผ ํ”„๋กœ์ ํŠธ์— ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

5.20.0 - [Firebase/Core][I-COR000004] App with name __FIRAPP_DEFAULT does not exist.
Configuring the default Firebase app...
5.20.0 - [Firebase/Core][I-COR000012] Could not locate configuration file: 'GoogleService-Info.plist'.
5.20.0 - [Firebase/Core][I-COR000005] No app has been configured yet.
5.20.0 - [Firebase/Core][I-COR000005] No app has been configured yet.
*** First throw call stack:
(
    0   CoreFoundation                      0x00000001116846fb __exceptionPreprocess + 331
    1   libobjc.A.dylib                     0x0000000110c28ac5 objc_exception_throw + 48
    2   CoreFoundation                      0x0000000111684555 +[NSException raise:format:] + 197
    3   Runner                              0x000000010a44b462 +[FIRApp configure] + 562
    4   Runner                              0x000000010aa2bf16 -[FLTCloudFirestorePlugin init] + 214
    5   Runner                              0x000000010aa2bda9 +[FLTCloudFirestorePlugin registerWithRegistrar:] + 297
    6   Runner                              0x000000010a2a9123 +[GeneratedPluginRegistrant registerWithRegistry:] + 115
    7   Runner                        <โ€ฆ>

๊ทธ๋Ÿฐ ๋‹ค์Œ ios ํด๋”๋ฅผ ์ƒˆ ํ”„๋กœ์ ํŠธ์— ๋ณต์‚ฌํ•˜๊ณ  ๋นŒ๋“œํ–ˆ์ง€๋งŒ ๋ฒ„๊ทธ๊ฐ€ ๋‹ค์‹œ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ซ ๋ฆฌ์Šคํƒ€ํŠธํ•œ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ํ•ญ์ƒ A ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค. ์œ„์˜ ๋ฒ„๊ทธ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•„์„ธ์š”?

@tvolkert

์›๋ž˜ ํ”„๋กœ์ ํŠธ์—์„œ flutter run --bug-report ๋ฅผ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ ๋‘ ๊ฐœ์˜ zip ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์™œ ๋‘ ๊ฐœ๊ฐ€ ์žˆ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค:
bugreport_01.zip
bugreport_02.zip

@aam

์ฒซ ๋ฒˆ์งธ ์‹œ๋„๋ฅผ ๋‹ค์‹œ ์‹œ๋„ํ–ˆ์ง€๋งŒ GoogleService_Info.plist๋ฅผ ๋‚ด ํด๋” ๋Œ€์‹  xcode๋กœ ์ด๋™ํ•˜์—ฌ __FIREAPP_DEFAULT ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ƒํƒœ B๋ฅผ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค! ์˜ค๋ž˜๋œ ์ฝ”๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ƒˆ ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ๋ณต์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”!

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ  ๋‚ด ๋ฌธ์ œ๋Š” ํด๋ž˜์Šค ์ด๋ฆ„์„ MyApp์œผ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
ํด๋ž˜์Šค ์ด๋ฆ„์„ MyApp์œผ๋กœ ๋ณ€๊ฒฝํ•˜์ž๋งˆ์ž .... ๋‹ค์‹œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ด๋ฆ„ ๋•Œ๋ฌธ์— widget_test.dart๋ผ๋Š” ํ…Œ์ŠคํŠธ ํด๋”์˜ MyApp ํŒŒ์ผ์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค......
์ถ”์‹ : ์ €๋Š” flutter๋ฅผ ๋ฐฐ์šฐ๋Š” ์ดˆ๊ธฐ ๋‹จ๊ณ„์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹น์‹ ์„ ์œ„ํ•œ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค ๐Ÿ˜…

์ข‹์€

https://github.com/flutter/flutter/commit/df3505c1f389031895a459cb2831f38a76119ea2๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๊ฒƒ์ด Android์—์„œ ์™„์ „ํžˆ ์ˆ˜์ •๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ, ๋” ์ด์ƒ ์ด ์„ฑ๊ฐ€์‹  ๋ฌธ์ œ๊ฐ€ ์—†์œผ๋ฉฐ ๊ฝค ์˜ค๋žซ๋™์•ˆ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์—ฌ์ „ํžˆ์ด ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๋ฒ„์ „ 1.12.13+hotfix.3์„ ์‹คํ–‰ํ•˜๋Š” ๋ฒ ํƒ€ ์ฑ„๋„์— ์žˆ์Šต๋‹ˆ๋‹ค. Android Studio๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๊ณ  ์ด๋ฏธ ์•ฑ ์‹œ์ž‘ ์‹œ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ–ˆ์ง€๋งŒ ์•ฑ์„ ์ฝœ๋“œ ์žฌ์‹œ์ž‘ํ•  ๋•Œ๋งˆ๋‹ค ์—ฌ์ „ํžˆ ํฐ ๋นจ๊ฐ„์ƒ‰ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋ฉฐ ์ด๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ๋งค๋ฒˆ ํ•ซ ์žฌ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@Reprevise ์ข€ ๋” ์ž์„ธํžˆ

์˜ˆ, ์•ฑ์„ ์™„์ „ํžˆ ์ค‘์ง€ํ•˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์žฌ์‹คํ–‰์—์„œ ์ž์„ธํ•œ ๋กœ๊ทธ๋ฅผ ์ œ๊ณตํ•˜๊ณ (์˜ˆ: flutter run -v) ์‹œ์ž‘ ์‹œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@Reprevise ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋‹ค๋ฅธ ํ”Œ๋Ÿฌํ„ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ณ  ๋นŒ๋“œํ•˜๋Š” ๋™์•ˆ ๋กœ๊ทธ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค(ํ™•์‹คํžˆ ์„ฑ๊ฐ€์‹ ). ํฐ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ•˜๋Š”์ง€ ๋จผ์ € ํ™•์ธํ•œ ๋‹ค์Œ ํ”Œ๋Ÿฌํ„ฐ ์ฒญ์†Œํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ์‚ฌ๋ผ์ง€๋ฉด ์—ฌ์ „ํžˆ ๋ฐœ์ƒํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  ์—๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์šฐ๊ณ  Flutter ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ด๋ฏธ ์ˆ˜์ •๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜์ง€ ์•Š์•„์•ผ ํ•จ). flutter clean ์‹คํ–‰ํ•œ ํ›„์—๋„ ์‹œ์ž‘ ์‹œ ์˜ค๋ฅ˜๊ฐ€ ๊ณ„์† ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ •: ํ”Œ๋Ÿฌํ„ฐ ์ฒญ์†Œ ํ›„ ์‹œ์ž‘ ์‹œ ์˜ค๋ฅ˜๊ฐ€ ๋” ์ด์ƒ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋กœ๊ทธ์— ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์ด ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ตœ์‹  ๋ฒ„์ „์ธ ๊ฒƒ ๊ฐ™์ง€๋งŒ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ด ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทผ๋ณธ ์›์ธ์„ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ์ตœ์†Œํ•œ์˜ ๋ณต์ œ๋กœ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ

์•ˆ์ •์ ์ธ ์ฑ„๋„์˜ v1.12๋Š” ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ฝ˜์†” ๋กœ๊ทธ๋ฅผ ์บ์‹ฑํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ฒญ์†Œ/์ œ๊ฑฐ๋กœ๋Š” ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๋Š” ๋•Œ๋•Œ๋กœ ์•„๋ฌด ์ด์œ  ์—†์ด ์‚ฌ๋ผ์งˆ ๋•Œ๊นŒ์ง€ ๊ณ„์† ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋‚˜๋ฅผ ๋งŽ์ด ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ ํ–ˆ๋‹ค.

@gloryluu ๋Š” ๋นŒ๋“œ/ํด๋ฆฐ๊ณผ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ฒ„๊ทธ๋ฅผ ์ฑ„์šฐ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ํ”Œ๋Ÿฌํ„ฐ ํ”„๋กœ์ ํŠธ์—์„œ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๋„ ๋‚˜๋ฅผ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

C:\flutterbin\flutter.bat ์˜์‚ฌ --verbose
[โˆš] Flutter(์ฑ„๋„ ๋งˆ์Šคํ„ฐ, v1.13.6-pre.38, Microsoft Windows [๋ฒ„์ „ 10.0.14393], ๋กœ์ผ€์ผ en-US)
โ€ข C:\flutter์˜ Flutter ๋ฒ„์ „ 1.13.6-pre.38
โ€ข Framework ๊ฐœ์ • b28dd0c296(7์ผ ์ „), 2019-12-28 10:33:01 +0800
โ€ข ์—”์ง„ ๋ฒ„์ „ 5a730c60d3
โ€ข Dart ๋ฒ„์ „ 2.8.0(๋นŒ๋“œ 2.8.0-dev.0.0 1db1a837f8)

[!] Android ํˆด์ฒด์ธ - Android ๊ธฐ๊ธฐ์šฉ ๊ฐœ๋ฐœ(Android SDK ๋ฒ„์ „ 29.0.2)
โ€ข E:\Android Meterial\AndroidSDK์˜ Android SDK
โ€ข Android NDK ์œ„์น˜๊ฐ€ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์Œ(์„ ํƒ ์‚ฌํ•ญ, ๊ธฐ๋ณธ ํ”„๋กœํŒŒ์ผ๋ง ์ง€์›์— ์œ ์šฉ)
โ€ข ํ”Œ๋žซํผ android-29, ๋นŒ๋“œ ๋„๊ตฌ 29.0.2
โ€ข ANDROID_HOME = E:\Android Meterial\AndroidSDK
โ€ข Java ๋ฐ”์ด๋„ˆ๋ฆฌ: C:\Program Files\Android\Android Studio\jrebin\java
โ€ข Java ๋ฒ„์ „ OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(๋นŒ๋“œ 1.8.0_202-release-1483-b03)
X Android ๋ผ์ด์„ ์Šค ์ƒํƒœ๋ฅผ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
Android SDK Manager๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•ด ๋ณด์„ธ์š”.
์ž์„ธํ•œ ์ง€์นจ์€ https://developer.android.com/studio/#downloads๋ฅผ ์ฐธ์กฐ ํ•˜๊ฑฐ๋‚˜ https://flutter.dev/setup/#android -setup์„ ๋ฐฉ๋ฌธ

[โˆš] ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค(๋ฒ„์ „ 3.5)
โ€ข C:\Program Files\Android\Android Studio์˜ Android ์ŠคํŠœ๋””์˜ค
โ€ข Flutter ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„์ „ 42.1.1
โ€ข Dart ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฒ„์ „ 191.8593
โ€ข Java ๋ฒ„์ „ OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(๋นŒ๋“œ 1.8.0_202-release-1483-b03)

[โˆš] ์—ฐ๊ฒฐ๋œ ์žฅ์น˜(1๊ฐœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
โ€ข SM M105F โ€ข 5200ebb94a0346f7 โ€ข android-arm โ€ข Android 9(API 28)

! ์˜์‚ฌ๊ฐ€ 1๊ฐœ์˜ ๋ฒ”์ฃผ์—์„œ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.
์ข…๋ฃŒ ์ฝ”๋“œ 0์œผ๋กœ ํ”„๋กœ์„ธ์Šค ์™„๋ฃŒ

Windows 10 64๋น„ํŠธ์—์„œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•

"[!] Android ๋„๊ตฌ ๋ชจ์Œ - Android ์žฅ์น˜์šฉ ๊ฐœ๋ฐœ(Android SDK ๋ฒ„์ „ 29.0.2)
โ€ข E:\Android Meterial\AndroidSDK์˜ Android SDK
โ€ข Android NDK ์œ„์น˜๊ฐ€ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์Œ(์„ ํƒ ์‚ฌํ•ญ, ๊ธฐ๋ณธ ํ”„๋กœํŒŒ์ผ๋ง ์ง€์›์— ์œ ์šฉ)
โ€ข ํ”Œ๋žซํผ android-29, ๋นŒ๋“œ ๋„๊ตฌ 29.0.2
โ€ข ANDROID_HOME = E:\Android Meterial\AndroidSDK
โ€ข Java ๋ฐ”์ด๋„ˆ๋ฆฌ: C:\Program Files\Android\Android Studio\jrebin\java
โ€ข Java ๋ฒ„์ „ OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(๋นŒ๋“œ 1.8.0_202-release-1483-b03)
X Android ๋ผ์ด์„ ์Šค ์ƒํƒœ๋ฅผ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
Android SDK Manager๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•ด ๋ณด์„ธ์š”.
์ž์„ธํ•œ ์ง€์นจ์€ https://developer.android.com/studio/#downloads๋ฅผ ์ฐธ์กฐ ํ•˜๊ฑฐ๋‚˜ https://flutter.dev/setup/#android -setup์„ ๋ฐฉ๋ฌธ

๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

[ํ”Œ๋Ÿฌํ„ฐ] ํ”Œ๋Ÿฌํ„ฐ ๋‹ฅํ„ฐ -v
[โˆš] Flutter(์ฑ„๋„ ์•ˆ์ •, v1.12.13+hotfix.5, Microsoft Windows [๋ฒ„์ „ 10.0.18363.535], ๋กœ์ผ€์ผ en-US)
โ€ข D:\flutter์˜ Flutter ๋ฒ„์ „ 1.12.13+hotfix.5
โ€ข Framework ๊ฐœ์ • 27321ebbad(5์ฃผ ์ „), 2019-12-10 18:15:01 -0800
โ€ข ์—”์ง„ ๊ฐœ์ •ํŒ 2994f7e1e6
โ€ข ๋‹คํŠธ ๋ฒ„์ „ 2.7.0

[โˆš] Android ํˆด์ฒด์ธ - Android ๊ธฐ๊ธฐ์šฉ ๊ฐœ๋ฐœ(Android SDK ๋ฒ„์ „ 28.0.3)
โ€ข D:\android-sdk์˜ Android SDK
โ€ข Android NDK ์œ„์น˜๊ฐ€ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์Œ(์„ ํƒ ์‚ฌํ•ญ, ๊ธฐ๋ณธ ํ”„๋กœํŒŒ์ผ๋ง ์ง€์›์— ์œ ์šฉ)
โ€ข ํ”Œ๋žซํผ android-28, ๋นŒ๋“œ ๋„๊ตฌ 28.0.3
โ€ข ANDROID_HOME = D:\android-sdk
โ€ข Java ๋ฐ”์ด๋„ˆ๋ฆฌ: C:\Program Files\Android\Android Studio\jrebin\java
โ€ข Java ๋ฒ„์ „ OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(๋นŒ๋“œ 1.8.0_152-release-1343-b01)
โ€ข ๋ชจ๋“  Android ๋ผ์ด์„ ์Šค๊ฐ€ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

[!] ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค(๋ฒ„์ „ 3.4)
โ€ข C:\Program Files\Android\Android Studio์˜ Android ์ŠคํŠœ๋””์˜ค
X Flutter ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Flutter ํŠน์ • ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
X Dart ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Dart ํŠน์ • ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
โ€ข Java ๋ฒ„์ „ OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ(๋นŒ๋“œ 1.8.0_152-release-1343-b01)

[โˆš] VS ์ฝ”๋“œ(๋ฒ„์ „ 1.41.1)
โ€ข C:\Users\Armin\AppData\Local\Programs\Microsoft VS Code์˜ VS ์ฝ”๋“œ
โ€ข Flutter ํ™•์žฅ ๋ฒ„์ „ 3.7.1

[โˆš] ์—ฐ๊ฒฐ๋œ ์žฅ์น˜(1๊ฐœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
โ€ข x86์šฉ์œผ๋กœ ๋นŒ๋“œ๋œ Android SDK โ€ข emulator-5554 โ€ข android-x86 โ€ข Android 9(API 28)(์—๋ฎฌ๋ ˆ์ดํ„ฐ)

! ์˜์‚ฌ๊ฐ€ 1๊ฐœ์˜ ๋ฒ”์ฃผ์—์„œ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

@jonahwilliams ์ƒˆ ๋นŒ๋“œ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋„๊ตฌ์˜ ์–ด๋–ค ๋ถ€๋ถ„์„ ๋ณ€ํ™˜ํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ชฉ๋ก์„ ์ž‘์„ฑํ•˜๊ณ  ํ•ด๋‹น ๋ถ€๋ถ„์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•˜๊ณ  ์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ๋‹จ๊ณ„:

  1. ์ƒˆ๋กœ์šด Flutter ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
  2. ๊ทธ ์•…๋ช… ๋†’์€ ์˜ค๋ฅ˜ ํ™”๋ฉด์„ ์œ ๋ฐœํ•˜๋Š” ์˜ค๋ฅ˜๋ฅผ ์–ป์œผ๋ ค๋ฉด MyApp ์˜ build ๋ฉ”์†Œ๋“œ์—์„œ MyApp MediaQuery.of(context) ๋ฅผ ํ˜ธ์ถœํ•˜์‹ญ์‹œ์˜ค.
  3. ์˜ค๋ฅ˜ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  4. ๋””๋ฒ„๊น… ์ค‘์ง€(VSCode ๋ฐ Android Studio์—์„œ ๋นจ๊ฐ„์ƒ‰ ์‚ฌ๊ฐํ˜• ํด๋ฆญ)
  5. ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•˜์‹ญ์‹œ์˜ค(์ด ๊ฒฝ์šฐ MediaQuery.of(context) ํ˜ธ์ถœํ•˜๋Š” ํ–‰์„ ์ œ๊ฑฐํ•˜์‹ญ์‹œ์˜ค.
  6. ๋””๋ฒ„๊น… ๋‹ค์‹œ ์‹œ์ž‘
  7. ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ–ˆ๋Š”๋ฐ๋„ ์˜ค๋ฅ˜ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  8. ์•ฑ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ (VSCode์—์„œ ๋…น์ƒ‰ ์ƒˆ๋กœ ๊ณ ์นจ ์•„์ด์ฝ˜์„ ๋ˆ„๋ฅด๊ณ  Android Studio์—์„œ ์ž‘์€ ๋…น์ƒ‰ ์›์ด ์žˆ๋Š” "์žฌ์ƒ" ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ„) ์˜ค๋ฅ˜ ํ™”๋ฉด์ด ์‚ฌ๋ผ์ง„ ๊ฒƒ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” Flutter 1.13.6(์ตœ์‹  ๋ฒ ํƒ€ ์ฑ„๋„ ๋ฒ„์ „)์„ ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ: ์ตœ์‹  ๋ฒ ํƒ€ ๋ฒ„์ „(1.14.6)์— ๊ณ„์† ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์•ˆ์ •์ ์ธ ์ฑ„๋„์˜ v1.12๋Š” ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ฝ˜์†” ๋กœ๊ทธ๋ฅผ ์บ์‹ฑํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ฒญ์†Œ/์ œ๊ฑฐ๋กœ๋Š” ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๋Š” ๋•Œ๋•Œ๋กœ ์•„๋ฌด ์ด์œ  ์—†์ด ์‚ฌ๋ผ์งˆ ๋•Œ๊นŒ์ง€ ๊ณ„์† ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋‚˜๋ฅผ ๋งŽ์ด ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ ํ–ˆ๋‹ค.

๊ฐ™์€ ๋ฌธ์ œ๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
Flutter(Mac OS X 10.15.2 19C57์—์„œ ์ฑ„๋„ ์•ˆ์ • ๋ฒ„์ „, v1.12.13+hotfix.7, ๋กœ์ผ€์ผ en-AU)

@shinta5150 ์ฝ˜์†” ๋กœ๊ทธ ๋ฌธ์ œ๋Š” ๋ณ„๋„์˜ ํšŒ๊ท€์ž…๋‹ˆ๋‹ค.

@Reprevise ์ด๊ฒƒ์€ ๋นŒ๋“œ ์˜ค๋ฅ˜๊ฐ€ ์•„๋‹Œ ํ•ซ ๋ฆฌ๋กœ๋“œ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค.

@jonahwilliams ๋‚ด๊ฐ€ ํ•ซ

@Reprevise ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— build/app/intermediates/flutter/debug/flutter_build.d ์™€ ๊ฐ™์€ ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์ข…์†์„ฑ์„ ํฌํ•จํ•ด์•ผ ํ•˜๋Š” ์ƒ์„ฑ๋œ ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ํŒŒ์ผ์˜ ์ด๋ฆ„์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@Reprevise ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— build/app/intermediates/flutter/debug/flutter_build.d ์™€ ๊ฐ™์€ ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์ข…์†์„ฑ์„ ํฌํ•จํ•ด์•ผ ํ•˜๋Š” ์ƒ์„ฑ๋œ ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ํŒŒ์ผ์˜ ์ด๋ฆ„์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

ํŽธ์ง‘ ์ค‘์ธ ํŒŒ์ผ์˜ ์ด๋ฆ„์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ข‹์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ํ™•์ธํ•ด์•ผ ํ•  ๊ฒƒ์€ ํŒŒ์ผ ์ฒดํฌ์„ฌ์ž…๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ ํ›„์— ์ด ๋‹ค์Œ ๋ถ€๋ถ„์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ฒซ์งธ - ์˜ค๋ฅ˜๊ฐ€ ์—†๋Š” ์ƒํƒœ์—์„œ ๋นŒ๋“œ๋ฅผ ๋‘ ๋ฒˆ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ .dart_tool/flutter_build/<some-hash-value>/.filecache ์—ด๊ณ  ํŽธ์ง‘ ์ค‘์ธ ํŒŒ์ผ์˜ sha๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค:

{
  "version": 2,
  "files": [
    {"path": "path/you/care/about.dart", "hash": "somevalue"},
    ...
  ],
}

๊ทธ๋Ÿฐ ๋‹ค์Œ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์•ฑ์„ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๋„๋ก ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ํ•ด์‹œ๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ์—…๋ฐ์ดํŠธ๋˜์—ˆ๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์‹ค, ๋” ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•œ ํ›„ ์žฅํ™ฉํ•˜๊ฒŒ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ผ์ธ์„ ์ฐพ๊ณ  ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค:

skipping kernel_snapshot ๋˜๋Š” ์ง€๊ธˆ

๋”ฐ๋ผ์„œ ํ™•์ธํ•˜๋ ค๋ฉด:

๋นŒ๋“œ๋ฅผ ๋‘ ๋ฒˆ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ ์˜ˆ์ƒ๋Œ€๋กœ ์˜ค๋ฅ˜ ํ™”๋ฉด์ด ๋‘ ๋ฒˆ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.
์ƒค๊ฐ’์„ ์žก์•˜์Šต๋‹ˆ๋‹ค.
์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฆฌ๋นŒ๋“œ ํ›„์— ์ƒค ๊ฐ€ ๋ฐ”๋€Œ์ง€

@jonahwilliams

์ฐธ๊ณ : Linux์—์„œ๋Š” ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค .

@Reprevise ์ž์„ธํ•œ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ gradle์ด ํ”Œ๋Ÿฌํ„ฐ ์ž‘์—… ์ž์ฒด๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ข‹๋‹ค:

[        ] > Task :app:transformClassesAndDexWithShrinkResForRelease UP-TO-DATE
[        ] > Task :app:packageRelease UP-TO-DATE
[        ] > Task :app:assembleRelease
[        ] BUILD SUCCESSFUL in 994ms
[        ] 30 actionable tasks: 4 executed, 26 up-to-date

์ด๊ฒƒ์€ ํ”Œ๋Ÿฌํ„ฐ ๋„๊ตฌ ๋ฒ„๊ทธ์ธ์ง€ ํ”Œ๋Ÿฌํ„ฐ Gradle ๋ฒ„๊ทธ์ธ์ง€ ๋ฒ”์œ„๋ฅผ ์ขํžˆ๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด Windows์ธ ๊ฒฝ์šฐ Gradle์ด ํ”Œ๋Ÿฌํ„ฐ ์ž‘์—…์„ ์ž˜๋ชป ๊ฑด๋„ˆ๋›ฐ๊ฒŒ ํ•˜๋Š” depfile์— ํ˜•์‹ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ sha๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š๋Š” ๊ฒƒ๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ flutter run --verbose ์˜ ๋‚ด ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.

https://pastebin.com/V5U7G3tj

์˜ค๋ฅ˜ ๋กœ๊ทธ์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ๋‚ด ํŒŒ์ผ์—๋Š” ๋นŒ๋“œ ๋ฐฉ๋ฒ•์— MediaQuery.of(context) ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค . ๊ทธ๋ฆฌ๊ณ  ์˜ˆ, ์ €๋Š” Windows๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ข‹์Šต๋‹ˆ๋‹ค. ์ ์ฐจ ๋ฌธ์ œ๋ฅผ ์ขํ˜€๊ฐ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. FLUTTER_ROOT/packages/flutter_tools/gradle/flutter.gradle ์—์„œ depfile์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ๋ฌธ ๋ถ„์„๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด print ๋ฌธ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    <strong i="7">@InputFiles</strong>
    FileCollection getSourceFiles() {
        FileCollection sources = project.files()
        for (File depfile in getDependenciesFiles()) {
          sources += readDependencies(depfile)
        }
        sources.collect {
            println it
        }
        return sources + project.files('pubspec.yaml')
    }

FlutterTask . ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ตฌ๋ฌธ ๋ถ„์„๋œ depfile์˜ ๋‚ด์šฉ์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๊ณ  ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

print ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒˆ flutter run --verbose ๋กœ๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

https://pastebin.com/dVXCUueS

๊ฐ์‚ฌ ํ•ด์š”! ์˜ฌ๋ฐ”๋ฅธ ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค - ๋‹ค์Œ ํŒŒ์ผ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์ž…๋‹ˆ๊นŒ?

C:\Users\Owner\Documents\Flutter Apps\error_test\android\app\Apps\error_test\pubspec.yaml
[        ] C:\Users\Owner\Documents\Flutter
[        ] C:\Users\Owner\Documents\Flutter Apps\error_test\android\app\Apps\error_test\.packages
[        ] C:\Users\Owner\Documents\Flutter Apps\error_test\android\app\Apps\error_test\lib\main.dart

๐Ÿคฆโ€โ™‚๋กœ ๊ฐ€๋Š”๋ฐ, ์ด๊ฒŒ ๋˜ ๋‹ค๋ฅธ "ํŒŒ์ผ ๊ฒฝ๋กœ์˜ ๊ณต๋ฐฑ์ด Windows์˜ ๋„๊ตฌ๋ฅผ ๋˜์ง" ๋ฌธ์ œ์ธ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ๊ณต๋ฐฑ์ด ์—†๋Š” ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๋ฌธ์ œ๊ฐ€ ์žฌํ˜„๋ฉ๋‹ˆ๊นŒ? (์žฅ๊ธฐ์ ์ธ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ ์ด๊ฒƒ์„ ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค ... )

android\app\Apps ๋ถ€๋ถ„์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค:

๋‹ค์Œ์€ ํ•ด๋‹น ํŒŒ์ผ์˜ ์‹ค์ œ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

C:\Users\Owner\Documents\Flutter Apps\error_test\pubspec.yaml
C:\Users\Owner\Documents\Flutter Apps\error_test\.packages
C:\Users\Owner\Documents\Flutter Apps\error_test\lib\main.dart

๋˜ํ•œ C:\Users\Owner\Documents\Flutter ๊ฐ€ ์™œ ๊ฑฐ๊ธฐ์— ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?
ํ•˜์ง€๋งŒ ๊ฒฝ๋กœ ๋ฌธ์ œ๊ฐ€ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ ์ง€์ ํ•˜๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ "ํŒŒ์ผ ๊ฒฝ๋กœ์˜ ๊ณต๊ฐ„"์ด ์‹ค์ œ๋กœ ๋ฌธ์ œ๋ฅผ ์ผ์œผ์ผฐ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ณต๋ฐฑ์ด ์—†๋Š” ๊ฒฝ๋กœ์—์„œ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋งค์šฐ ์—ด์‹ฌํžˆ ๋…ธ๋ ฅํ–ˆ์ง€๋งŒ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

@Reprevise ๋””๋ฒ„๊น…์— ๋„์›€์„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŒจ์น˜๋ฅผ ์ƒ๋‹นํžˆ ๋น ๋ฅด๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ C:\Users\Owner\Documents\Flutter๊ฐ€ ์™œ ๊ฑฐ๊ธฐ์— ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

๋„ˆ๋ฌด ์ด์ƒํ•ด ๋ณด์ด์ง€๋งŒ ์•„์ง ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์†”์งํžˆ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„์˜ ๋นˆ ๊ณต๊ฐ„๊ณผ ๊ด€๋ จ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@Reprevise ๊ทธ๋ž˜์„œ ๋‚ด Windows ์ปดํ“จํ„ฐ์— ์ด๊ฒƒ์„ ๋‹ค์‹œ ์ €์žฅํ•˜๊ณ  ์ˆ˜์ •์ด ๋ณด๋ฅ˜ ์ค‘์ž…๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒฝ์šฐ ํ™•์ธ์„ ์œ„ํ•ด ์ž์‹ ์˜ ํ”Œ๋Ÿฌํ„ฐ ์ฒดํฌ์•„์›ƒ์— ํŒจ์น˜๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ : ๋‚˜์œ depfile์„ ๋‚ ๋ ค๋ฒ„๋ฆฌ๋ ค๋ฉด ๋จผ์ € ํ”Œ๋Ÿฌํ„ฐ ์ฒญ์†Œ๋ฅผ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

https://github.com/flutter/flutter/pull/50538

ํƒˆ์ถœ ๋ฌธ์ œ๋Š” ์ด์ œ ๋งˆ์Šคํ„ฐ์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ง‘์— ๋„์ฐฉํ•˜๋ฉด ๋งˆ์Šคํ„ฐ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋ฉด ๋‹ค์‹œ ๋ณด๊ณ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ๋งค๋ฒˆ ์˜ฌ๋ฐ”๋ฅธ ์ฝ”๋“œ๋กœ ๋‹ค์‹œ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค ๐Ÿคž .

์ง€๋‚œ ๋ฉฐ์น  ๋™์•ˆ ๋™์ผํ•œ ๋ฌธ์ œ์— ์ง๋ฉดํ–ˆ์Šต๋‹ˆ๋‹ค. Hot Reload๊ฐ€ ์ž‘๋™์„ ๋ฉˆ์ท„์Šต๋‹ˆ๋‹ค. ๋งค๋ฒˆ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@gegobyte ์ด๊ฒƒ์€ ํ•ซ ๋ฆฌ๋กœ๋“œ์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค

์ œ ๊ฒฝ์šฐ์—๋Š” ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํŽธ์ง‘ํ•œ ํ›„์— ์ด๋Ÿฐ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

flutter clean

๊ทธ๋Ÿฐ ๋‹ค์Œ ์‹คํ–‰ํ•˜์—ฌ

flutter pub cache repair

๊ทธ๋Ÿฐ ๋‹ค์Œ ์•ฑ์„ ๋‹ค์‹œ ๋นŒ๋“œํ•˜์„ธ์š”.

์ด๊ฑธ ๋‹ซ์•„์•ผ ํ• ๊นŒ์š”? ๊ทธ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋” ์ด์ƒ ๋ฌธ์ œ๊ฐ€ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ตœ๊ทผ์— ์ ์–ด๋„ ํ•˜๋‚˜์˜ ๊ทผ๋ณธ์ ์ธ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด๊ฒƒ์„ ์—ฌ๋Ÿฌ ๋ฌธ์ œ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์ถ”์  ๋ฉ”ํƒ€ ๋ฌธ์ œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•œ๋™์•ˆ ์ด ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ตœ์‹  ๋ฒ ํƒ€ 1.15.17์„ ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋” ์œ ์šฉํ•˜๊ณ  ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋” ์ง‘์ค‘๋œ ๋ฌธ์ œ๋ฅผ ์ฐพ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. @jonahwilliams wdyt?

๋” ์ด์ƒ ๋ฌธ์ œ๊ฐ€ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ฑ„๋„ ๋ฒ ํƒ€ ์ค‘์ž…๋‹ˆ๋‹ค.

์•ˆ์ •์ ์ธ ์ฑ„๋„(1.12.13 ํ•ซํ”ฝ์Šค 8)์—์„œ ๋ฌธ์ œ๊ฐ€ ์‚ฌ๋ผ์ง„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ฒ„์ „ 1.12.13 ํ•ซํ”ฝ์Šค 8์ด ์žˆ๊ณ  ์—ฌ์ „ํžˆ ์ด ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹ฌ๋ ธ๋‹ค

ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ

์ ์–ด๋„ ์ผ์‹œ์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

์ œ ๊ฒฝ์šฐ์—๋Š” ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํŽธ์ง‘ํ•œ ํ›„์— ์ด๋Ÿฐ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

flutter clean

๊ทธ๋Ÿฐ ๋‹ค์Œ ์‹คํ–‰ํ•˜์—ฌ

flutter pub cache repair

๊ทธ๋Ÿฐ ๋‹ค์Œ ์•ฑ์„ ๋‹ค์‹œ ๋นŒ๋“œํ•˜์„ธ์š”.

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค!! (Dart์™€ Flutter๋„ ์—…๋ฐ์ดํŠธํ•˜์‹ญ์‹œ์˜ค).

"ํ”Œ๋Ÿฌํ„ฐ ํŽ ์บ์‹œ ๋ณต๊ตฌ" ์†”๋ฃจ์…˜์„ ๋”ฐ๋ž์ง€๋งŒ ์ด์ œ ํ•ซ ๋ฆฌ๋กœ๋“œ๊ฐ€ ๋” ์ด์ƒ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋ชจ๋“  ๋นŒ๋“œ์— ๋Œ€ํ•ด ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ œ์•ˆ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@AntheusS ๋Š” ๋ณ„๊ฐœ์˜ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์œผ๋ฉฐ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋งค์šฐ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ํŠน์ • ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋„๋ก ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ์ œ๊ธฐํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌ ํ•ด์š”!

๋‹ค์Œ ๋ฉ”๋ชจ๋Š” 2018๋…„ 10์›” 16์ผ @tvolkert ์— ์˜ํ•ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฒ„๊ทธ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ฒฝ์šฐ

๋‹ค์Œ ์–‘์‹์„ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”!

https://goo.gl/forms/eFPT6A3jAD8clU4o2 (์ด ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ์ •๋ณด ์ˆ˜์ง‘์„ ์œ„ํ•œ ์„ค๋ฌธ์กฐ์‚ฌ)

๋ฒˆ์‹ ๋‹จ๊ณ„

๋‚˜(๋˜๋Š” ๋‚ด ํŒ€์› ์ค‘ ํ•œ ๋ช…)๊ฐ€ AVD ๋˜๋Š” ์‹ค์ œ ์žฅ์น˜์—์„œ flutter flutter run (๋˜๋Š” IntelliJ ๋ฐ VSCode์˜ ์‹คํ–‰/๋””๋ฒ„๊ทธ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ)๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์„ค์น˜๋œ ๋ฒ„์ „์ด ํ•ญ์ƒ ์ตœ์‹  ๋ฒ„์ „ ๋’ค์— ์žˆ๊ณ  ํ•ญ์ƒ ์•ฑ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋•Œ๋กœ๋Š” flutter clean ํ•ฉ๋‹ˆ๋‹ค.
AVD์˜ ๋นŒ๋“œ / ์‹ค์ œ ์žฅ์น˜๊ฐ€ ์ถฉ๋Œ ํ•  ๋•Œ ํŠนํžˆ ๋ฌธ์ œ์ด๋ฉฐ, ์—ฌ๊ธฐ์— ์œ ์ผํ•œ ํ•ด๊ฒฐ์ฑ…์ด๋‹ค flutter clean ๋‚ด๊ฐ€ ์‹คํ–‰์ค‘์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ค‘์ง€ ํ•  ๊ฒฝ์šฐ์—๋„, flutter run ๋‹ค์‹œ.

ํ”„๋กœ๋•์…˜ APK๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์„ค์น˜ํ•  ๋•Œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.
flutter build ๋ฐ flutter install ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์„ค์น˜๋œ APK๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
flutter clean์„ ์‹คํ–‰ํ•˜๊ณ  ๋‹ค์Œ์— ๋‹ค์‹œ flutter build ๋ฐ flutter install ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์„ค์น˜๋œ APK๊ฐ€ ์ตœ์‹  ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌํ„ฐ ๋‹ฅํ„ฐ:

[โˆš] Flutter (Channel beta, v0.2.8, on Microsoft Windows [Versione 10.0.17133.73], locale it-IT)
    โ€ข Flutter version 0.2.8 at C:\Users\Edoardo Debenedetti\flutter
    โ€ข Framework revision b397406561 (13 days ago), 2018-04-02 13:53:20 -0700
    โ€ข Engine revision c903c217a1
    โ€ข Dart version 2.0.0-dev.43.0.flutter-52afcba357

[โˆš] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    โ€ข Android SDK at C:\Users\Edoardo Debenedetti\AppData\Local\Android\sdk
    โ€ข Android NDK location not configured (optional; useful for native profiling support)
    โ€ข Platform android-27, build-tools 27.0.3
    โ€ข Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    โ€ข All Android licenses accepted.

[โˆš] Android Studio (version 3.1)
    โ€ข Android Studio at C:\Program Files\Android\Android Studio
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[โˆš] IntelliJ IDEA Ultimate Edition (version 2018.1)
    โ€ข IntelliJ at C:\Users\Edoardo Debenedetti\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\181.4203.550
    โ€ข Flutter plugin version 23.1.3
    โ€ข Dart plugin version 181.4203.498

[โˆš] VS Code, 64-bit edition (version 1.22.2)
    โ€ข VS Code at C:\Program Files\Microsoft VS Code
    โ€ข Dart Code extension version 2.11.2

[โˆš] Connected devices (2 available)
    โ€ข PRA LX1                   โ€ข 57UDU17111026756 โ€ข android-arm64 โ€ข Android 7.0 (API 24)
    โ€ข Android SDK built for x86 โ€ข emulator-5554    โ€ข android-x86   โ€ข Android 8.1.0 (API 27) (emulator)

โ€ข No issues found!

๋‹ค์Œ ๋ฉ”๋ชจ๋Š” 2018๋…„ 10์›” 16์ผ @tvolkert ๊ฐ€ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฒ„๊ทธ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ฒฝ์šฐ

์•„๋ž˜ ์–‘์‹์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!

https://goo.gl/forms/eFPT6A3jAD8clU4o2 (์ด ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ์ •๋ณด ์ˆ˜์ง‘์„ ์œ„ํ•œ ์„ค๋ฌธ์กฐ์‚ฌ)

๋ฒˆ์‹ ๋‹จ๊ณ„

๋‚˜(๋˜๋Š” ๋‚ด ํŒ€์› ์ค‘ ํ•œ ๋ช…)๊ฐ€ AVD ๋˜๋Š” ์‹ค์ œ ์žฅ์น˜์—์„œ flutter flutter run (๋˜๋Š” IntelliJ ๋ฐ VSCode์˜ ์‹คํ–‰/๋””๋ฒ„๊ทธ ๋ฒ„ํŠผ์œผ๋กœ)๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์„ค์น˜๋œ ๋ฒ„์ „์€ ํ•ญ์ƒ ์˜†์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „์ด๊ณ  ํ•ญ์ƒ ์•ฑ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋•Œ๋กœ๋Š” flutter clean ํ•ฉ๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ ํŠนํžˆ AVD/์‹ค์ œ ์žฅ์น˜์— ๋Œ€ํ•œ ๋นŒ๋“œ๊ฐ€ ์ถฉ๋Œํ•˜๊ณ  ์—ฌ๊ธฐ์„œ ์œ ์ผํ•œ ํ•ด๊ฒฐ์ฑ…์€ flutter clean ์ด๋ฉฐ, ์•ฑ ์‹คํ–‰์„ ์ค‘์ง€ํ•˜๊ณ  flutter run ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•˜๋”๋ผ๋„ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜ APK๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์„ค์น˜ํ•  ๋•Œ๋„ ๋™์ผํ•œ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
flutter build ๋ฐ flutter install ํ•˜๋ฉด ์„ค์น˜๋œ APK๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
ํ”Œ๋Ÿฌํ„ฐ ํด๋ฆฐ์„ ์‹คํ–‰ํ•˜๊ณ  ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ์„ค์น˜๋œ APK flutter build ์™€ flutter install ์ด ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

์˜์‚ฌ๊ฐ€ ๋–จ๋‹ค:

[โˆš] Flutter (Channel beta, v0.2.8, on Microsoft Windows [Versione 10.0.17133.73], locale it-IT)
    โ€ข Flutter version 0.2.8 at C:\Users\Edoardo Debenedetti\flutter
    โ€ข Framework revision b397406561 (13 days ago), 2018-04-02 13:53:20 -0700
    โ€ข Engine revision c903c217a1
    โ€ข Dart version 2.0.0-dev.43.0.flutter-52afcba357

[โˆš] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    โ€ข Android SDK at C:\Users\Edoardo Debenedetti\AppData\Local\Android\sdk
    โ€ข Android NDK location not configured (optional; useful for native profiling support)
    โ€ข Platform android-27, build-tools 27.0.3
    โ€ข Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    โ€ข All Android licenses accepted.

[โˆš] Android Studio (version 3.1)
    โ€ข Android Studio at C:\Program Files\Android\Android Studio
    โ€ข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[โˆš] IntelliJ IDEA Ultimate Edition (version 2018.1)
    โ€ข IntelliJ at C:\Users\Edoardo Debenedetti\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\181.4203.550
    โ€ข Flutter plugin version 23.1.3
    โ€ข Dart plugin version 181.4203.498

[โˆš] VS Code, 64-bit edition (version 1.22.2)
    โ€ข VS Code at C:\Program Files\Microsoft VS Code
    โ€ข Dart Code extension version 2.11.2

[โˆš] Connected devices (2 available)
    โ€ข PRA LX1                   โ€ข 57UDU17111026756 โ€ข android-arm64 โ€ข Android 7.0 (API 24)
    โ€ข Android SDK built for x86 โ€ข emulator-5554    โ€ข android-x86   โ€ข Android 8.1.0 (API 27) (emulator)

โ€ข No issues found!

๊ณ ๋งˆ์›Œ, ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๊ณ ์ณค๋‹ค.

์•ˆ์ •์ ์ธ ์ฑ„๋„์˜ ๋งˆ์ง€๋ง‰ ๋ฒ„์ „์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ

@AntheusS ๋Š” ๋ณ„๊ฐœ์˜ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์œผ๋ฉฐ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋งค์šฐ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ํŠน์ • ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋„๋ก ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ์ œ๊ธฐํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌ ํ•ด์š”!

์•ž์—์„œ ์„ค๋ช…ํ•œ ๋ช…๋ น์„ ์‹คํ–‰ํ•œ ํ›„ ์ „์ฒด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๋‹ค์‹œ ์„ค์น˜ํ•˜์—ฌ ์‹ค์ œ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. :-)

์ด ๋ฌธ์ œ๋Š” ๋‹ค์†Œ ๊ธธ์–ด์ง€๊ณ  ๊ณผ๋ถ€ํ•˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. @jonahwilliams ๊ฐ€ ์ด ๋ถ„์•ผ์—์„œ flutter clean ํ•ด๊ฒฐ๋œ ๋ฌธ์ œ๊ฐ€ ์—ฌ์ „ํžˆ ์žˆ์œผ๋ฉด ์ „์ฒด ์„ธ๋ถ€์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•˜์„ธ์š”. ๊ฐ์‚ฌ ํ•ด์š”!

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰