Flutter: 実行時のアセットロードエラーを回避できるようにしたい

作成日 2017年08月02日  ·  3コメント  ·  ソース: flutter/flutter

現在Flutterを使用すると、アセットは文字列からキーオフされるため、実行時にアセットの読み込みエラーが発生しやすくなります。文字列は分析時に検証されません(またはシステムによって生成/提供されません)。

Posseのライブアプリでの現在最も一般的なクラッシュは、アセット文字列の読み込みの失敗です。

また、pubspec.yamlから維持する文字列定数の手動ファイルもあります(おそらく、かなり簡単に自動生成できます)。

これは、私たちが支援できるパターンのようです。 このバグは、この種の失敗の可能性を減らすためのアイデアを見つけることに関するものです。

参考までに@yjbanov

P5 assets framework passed first triage tool

全てのコメント3件

既知のアセット名などの列挙型を自動生成できます。

私はまだこれを提供したいと思っています、それについてのフラッターチームの意見が何であるかはわかりませんでした。 私のPOCは、ベータ日以降凍結されています。 私はそれがPRであるかもしれないのに十分きれいないくつかのMVPを思い付くでしょう。 すぐに(TM)。

こんにちは、みんな:

私は網易会社のFly-Mixチームのメンバーです。 私のチームは、必要な機能をサポートするためのフラッター開発ツールFlr(Flutter-R)を開発しました。

Flrはフラッターリソースマネージャーツールで、フラッター開発者がpubspec.yamlでアセットを自動指定し、AndroidでR.javaのような$ r.g.dartファイルを生成するのに役立ちます。フラッタープロジェクトのアセットを変更します。 r.g.dartを使用すると、フラッター開発者は、次のようなアセットID関数を参照することで、コードでアセットを適用できます。

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:はい、AndroidのAAPT(Android Asset Packaging Tool)と同じです。

これまで、FlrはAndroid Studioプラグイン、CLI、およびVSCodeExtensionをサポートしてきました。

  1. Flr AndroidStudioプラグインバージョン

    • GitHub: https ://github.com/Fly-Mix/flr-as-plugin

    • プラグインのホームページ: https ://plugins.jetbrains.com/plugin/13789-flr

    • flr-as-plugin使用例Gif:

      flr_as_plugin-usage-example

  2. FlrCLIバージョン

    • GitHub: https ://github.com/Fly-Mix/flr-cli

    • CLIホームページ: https ://rubygems.org/gems/flr

    • flr-cli使用例Gif:

      flr_cli-usage-example

  3. FlrVSCode拡張バージョン

    • GitHub: https ://github.com/Fly-Mix/flr-vscode-extension

    • 拡張機能のホームページ: https ://marketplace.visualstudio.com/items?itemName = LincolnLaw.flr

    • flr-vscode-extension使用例:

      flr_vscode_extension-usage-example

このページは役に立ちましたか?
0 / 5 - 0 評価