如果app作为一个软件包包含在flutterappA中,flutterappB的资产应该去哪里?

问题描述 投票:0回答:1

我假设我们可以在另一个中嵌入一个颤动的应用程序,例如,如果我有一个可重复使用的菜单,其中包含我想在多个应用程序中使用的图像。

因此,FlutterAppA引用了FlutterAppB,并包含在FlutterAppA的pubspec.yaml中。 FlutterAppB将图像包含在其资产文件夹中,在pubspec文件中声明,并定义显示该资产的窗口小部件。我想从B访问该小部件(用资产显示小部件)

B的pubspec

flutter:
  assets:
    - assets/smile.gif

A的pubspec

dependencies:
  flutter:
    sdk: flutter
  flutter_app_b:
    path: ../flutter_app_b/

当B单独运行时,将显示图像。

class MyApp extends StatelessWidget {
  Widget build(BuildContext context) => MaterialApp(
          home: SmileAssetImage());
}
class SmileAssetImage extends StatelessWidget {
  Widget build(BuildContext context) => Image.asset('assets/smile.gif');
}

但是当在FlutterAppA中访问它时,它无法找到资产并且“无法加载资产异常”。

资产是否在正确的位置,是否应该在资产文件夹和/或两个pubspec文件夹中?

flutter
1个回答
0
投票

是的,似乎应该在实际运行的任何应用程序中包含和声明资产(如果运行A然后需要在应用程序A中定义资产,如果运行B,则资产需要在应用程序B中)。 flutter clean命令似乎是必要的

© www.soinside.com 2019 - 2024. All rights reserved.