Flutter: Souhaiterait pouvoir éviter les erreurs de chargement d'actifs lors de l'exécution

Créé le 2 août 2017  ·  3Commentaires  ·  Source: flutter/flutter

Actuellement, avec Flutter, il est très facile de se retrouver avec des erreurs de chargement d'actifs au moment de l'exécution, car les actifs sont déconnectés des chaînes, qui ne sont en aucun cas validées au moment de l'analyse (ou générées/fournies par le système).

Actuellement, le crash le plus courant de Posse dans son application en direct est un échec du chargement de la chaîne d'actifs.

Ils ont également un fichier manuel de constantes de chaîne qu'ils maintiennent à partir de leur pubspec.yaml (pourrait probablement être généré automatiquement assez facilement).

Cela semble juste être un modèle avec lequel nous pourrions aider. Ce bogue consiste à trouver des idées pour réduire la probabilité de ce type d'échec.

Pour info @yjbanov

P5 assets framework passed first triage tool

Tous les 3 commentaires

Nous pourrions générer automatiquement une énumération de noms d'actifs connus, ou quelque chose du genre.

Je suis toujours désireux de livrer cela, je n'ai jamais su quelle était l'opinion de l'équipe Flutter à ce sujet. Mon POC est gelé depuis l'époque de la bêta. Je trouverai un MVP suffisamment propre pour que ce soit un PR. Bientôt (MC).

Salut tout le monde:

Je suis membre de l'équipe Fly-Mix de la société NetEase. Mon équipe a développé un outil de développement Flutter : Flr(Flutter-R) pour prendre en charge la fonctionnalité que vous souhaitez.

Flr est un outil de gestion des ressources flutter, qui peut aider le développeur flutter à spécifier automatiquement les actifs dans pubspec.yaml et à générer un fichier r.g.dart qui aime R.java dans Android après qu'il modifie les actifs du projet Flutter. Avec r.g.dart , le développeur Flutter peut appliquer l'actif dans le code en référençant sa fonction d'ID d'actif, par exemple :

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: oui, c'est comme l'AAPT (Android Asset Packaging Tool) dans Android.

Jusqu'à présent, Flr a pris en charge le plug-in Android Studio, la CLI et l'extension VSCode :

  1. Version du plug-in Flr Android Studio

  2. Version de l'interface de ligne de commande Flr

  3. Version d'extension Flr VSCode

Cette page vous a été utile?
0 / 5 - 0 notes