如何修复:图像背景在 Flutter 中未显示在物理设备上

How to fix: Image background doesn't show up on physical device in Flutter

我正在学习 Flutter,我想在我的应用程序中显示背景图片,但它没有显示在物理设备上。

我在应用程序中添加了图像背景。它出现在 Android 模拟器上。但是当我使用物理设备时没有图像(只有白色背景)。

我尝试了 flutter cleanflutter pub getflutter build apk --release 来创建 APK 文件。然后我在设备上安装了这个。

我还尝试使用带有调试功能的设备(调试控制台不显示任何错误或警告)。

在这两种情况下,我都是白色背景。

我的 pubspec.yaml 文件:

flutter:
  assets:
    - assets/images/background.jpg

MyHomePageState class 我用这张图片的地方:

...
          body: Container(
            decoration: BoxDecoration(
              image: DecorationImage(
                image: AssetImage('assets/images/background.jpg'),
                fit: BoxFit.contain,
              ),
...

flutter doctor -v 命令的输出:

[√] Flutter (Channel stable, v1.7.8+hotfix.3, on Microsoft Windows [Version 10.0.18362.239], locale en-US)
    • Flutter version 1.7.8+hotfix.3 at C:\AndroidFlutter\flutter
    • Framework revision b712a172f9 (3 weeks ago), 2019-07-09 13:14:38 -0700
    • Engine revision 54ad777fd2
    • Dart version 2.4.0


[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\AndroidFlutter
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = C:\AndroidFlutter
    • ANDROID_SDK_ROOT = C:\Program Files (x86)\Android\android-sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[!] Android Studio (version 3.4)
    • Android Studio at C:\Program Files\Android\Android Studio
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[√] VS Code (version 1.36.1)
    • VS Code at C:\Users\Cyber\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.2.0

[√] Connected device (1 available)
    • LG V500 • LGV500d21491fe • android-arm • Android 7.1.2 (API 25)

这是我的 repository.

我希望屏幕看起来像这样(这是来自 Android 模拟器):

但是,我有一个白色背景(所有控件都正确呈现。

好的,我设法解决了我的问题。

有一些步骤对我有帮助:

  1. 删除本地存储库。
  2. 从 GitHub.
  3. 克隆存储库
  4. 运行 flutter upgrade 命令获取最新版本的 Flutter 框架。
  5. 运行 flutter run 命令 运行 已连接物理设备上的应用程序。

我通过以下两个链接找到了解决方案;

  1. flutter issues

  2. internet permission

<uses-permission android:name="android.permission.INTERNET" />

我已将以上行添加到 android/app/src/main/

下的文件 AndroidManifest.xml 中