Flutter: Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΎΠ² Π²ΠΎ врСмя выполнСния

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 2 Π°Π²Π³. 2017  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: flutter/flutter

Π’ настоящСС врСмя с Flutter ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ошибки Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΎΠ² Π²ΠΎ врСмя выполнСния, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π°ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΎΡ‚ строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈΠΊΠΎΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя Π°Π½Π°Π»ΠΈΠ·Π° (ΠΈΠ»ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ/ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ систСмой).

Π’ настоящСС врСмя Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнным сбоСм Posse Π² ΠΈΡ… ΠΆΠΈΠ²ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ являСтся сбой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ строки Π°ΠΊΡ‚ΠΈΠ²Π°.

Π£ Π½ΠΈΡ… Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ€ΡƒΡ‡Π½ΠΎΠΉ Ρ„Π°ΠΉΠ» строковых констант, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΈΠ· своСго pubspec.yaml (ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ сгСнСрирован автоматичСски).

Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΎΠ±Ρ€Π°Π·Π΅Ρ†, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ. Π­Ρ‚Π° ошибка связана с поиском ΠΈΠ΄Π΅ΠΉ ΠΏΠΎ сниТСнию вСроятности Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° сбоСв.

К Π²Π°ΡˆΠ΅ΠΌΡƒ свСдСнию @yjbanov

P5 assets framework passed first triage tool

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ автоматичСски ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ пСрСчислСниС извСстных ΠΈΠΌΠ΅Π½ Π°ΠΊΡ‚ΠΈΠ²ΠΎΠ² ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² этом Ρ€ΠΎΠ΄Π΅.

Π― всС Π΅Ρ‰Π΅ ΡΡ‚Ρ€Π΅ΠΌΠ»ΡŽΡΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ это, я Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π» ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Π΄ΡƒΠΌΠ°Π΅Ρ‚ ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ„Π»Π°Ρ‚Ρ‚Π΅Ρ€Π°. Мой POC Π·Π°ΠΌΠΎΡ€ΠΎΠΆΠ΅Π½ со Π²Ρ€Π΅ΠΌΠ΅Π½ Π±Π΅Ρ‚Π°-тСстирования. Π― ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°ΡŽ достаточно чистый MVP, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΈΠ°Ρ€ΠΎΠΌ. Π‘ΠΊΠΎΡ€ΠΎ (ВМ).

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚:

Π― Ρ‡Π»Π΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Fly-Mix ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ NetEase. Моя ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° инструмСнт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„Π»Π°Ρ‚Ρ‚Π΅Ρ€Π°: Flr(Flutter-R) для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

Flr β€” это инструмСнт управлСния рСсурсами Ρ„Π»Π°Ρ‚Ρ‚Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Ρ„Π»Π°Ρ‚Ρ‚Π΅Ρ€Π° автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Ρ‹ Π² pubspec.yaml ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» r.g.dart , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡŽΠ±ΠΈΡ‚ R.java Π² Android послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ измСняСт Π°ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ„Π»Π°Ρ‚Ρ‚Π΅Ρ€Π°. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ r.g.dart Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ„Π»Π°Ρ‚Ρ‚Π΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ² Π² ΠΊΠΎΠ΄Π΅, ΡΡΡ‹Π»Π°ΡΡΡŒ Π½Π° Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π°ΠΊΡ‚ΠΈΠ²Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

import 'package:flutter_r_demo/r.g.dart';

// test_sameName.png
var normalImageWidget = Image(
  width: 200,
  height: 120,
  image: R.image.test_sameName(),
);

// test_sameName.gif
var gifImageWidget = Image(
  image: R.mage.test_sameName_gif(),
);

// test.svg
var svgImageWidget = Image(
  width: 100,
  height: 100,
  image: R.svg.test(width: 100, height: 100),
);

// test.json
var jsonString = await R.text.test_json();

// test.yaml
var yamlString = await R.text.test_yaml();

PS: Π΄Π°, это ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° AAPT (Android Asset Packaging Tool) Π² Android.

Π”ΠΎ сих ΠΏΠΎΡ€ Flr ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» ΠΏΠ»Π°Π³ΠΈΠ½ Android Studio, интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ VSCode:

  1. ВСрсия ΠΏΠ»Π°Π³ΠΈΠ½Π° Flr для Android Studio

  2. ВСрсия интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Flr

  3. ВСрсия Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Flr VSCode

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ