我们有以下结构:
project A (hosted on private git). It has it's asset folder and is loading assets like this: Image.asset("images/Logo_png_1080x1080px.png")
project B, that uses project A as dependency
Run Code Online (Sandbox Code Playgroud)
项目 A 是一个 flutter 应用程序,可构建 ios 和 android 应用程序。它功能齐全,一切都按预期进行。
现在我们遇到的问题是项目 B。
项目 B 包含简单的入门类,它设置项目 A 正在使用的一些基本属性,并且一旦我们设法正确执行它,就会设置它自己的图标。它还将生产 ios 和 android 应用程序。
当我们启动应用程序时,没有识别到任何资产(图像),并且出现异常:
I/flutter ( 7290):
Unable to load asset: images/Logo_png_1080x1080px.png
I/flutter ( 7290):
I/flutter ( 7290):
When the exception was thrown, this was the stack:
I/flutter ( 7290): #0 PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:224:7)
I/flutter ( 7290): <asynchronous suspension>
I/flutter ( 7290): #1 AssetBundleImageProvider._loadAsync (package:flutter/src/painting/image_provider.dart:675:14)
I/flutter ( 7290): <asynchronous suspension>
Run Code Online (Sandbox Code Playgroud)
公共规范内容:
name: project_b
description: A new Flutter project.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
project_a:
git:
url: https://***:***@private.git.repo.com/scm/repo/git/ProjectA
ref: master
path: mobile_app
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^1.0.0
flutter:
uses-material-design: true
# assets:
# - packages/project_a/images/
Run Code Online (Sandbox Code Playgroud)
通常,如果依赖项有自己的资产,它应该自行处理它们。但是因为我们必须使用 git 项目,所以它可能有点不同,因为它不是自己打包的,而是与当前项目(项目 B)一起编译的。这就是它找不到资产的原因。
解决这个问题的最佳和最正确的方法是什么?谢谢!
| 归档时间: |
|
| 查看次数: |
1920 次 |
| 最近记录: |