Flutter 某些包未包含在最终APK内置颤振中

Flutter 某些包未包含在最终APK内置颤振中,flutter,build,package,apk,Flutter,Build,Package,Apk,我已经做了一个简单的测试应用程序,显示helloworld在颤振中。我使用了GoogleFonts软件包来更改fontFamily。当我在Android Studio中运行它时,一切正常。但是在最终的构建中,样式被恢复为默认的Roboto。当我使用Android Studio的“分析APK”功能时,我发现,GoogleFonts包没有包含在最终版本中。有什么问题吗?这是一个错误,还是我做错了?谷歌字体软件包仅用于测试目的,一旦你确定了你的字体,你必须下载并添加到资产中,就像我们对图像和视频所做的

我已经做了一个简单的测试应用程序,显示
helloworld在颤振中。我使用了
GoogleFonts
软件包来更改
fontFamily
。当我在Android Studio中运行它时,一切正常。但是在最终的构建中,样式被恢复为默认的
Roboto
。当我使用Android Studio的“分析APK”功能时,我发现,
GoogleFonts
包没有包含在最终版本中。有什么问题吗?这是一个错误,还是我做错了?

谷歌字体软件包仅用于测试目的,一旦你确定了你的字体,你必须下载并添加到资产中,就像我们对图像和视频所做的那样

这一点在本文中也有提及

google_字体包将自动使用pubspec.yaml资产中的匹配字体文件(而不是在运行时通过HTTP获取它们)。确定要使用的字体后:

  • 从下载字体文件。你只需要 下载用于任何给定对象的权重和样式 家庭斜体样式将在文件名中包含斜体。字体 权重映射到文件名,如下所示:
  • 将这些字体移动到顶级应用程序目录(例如google_字体)
  • 确保您已将文件夹(如google_fonts/)列在您的文件夹中 资产项下的pubspec.yaml

  • 注意:由于这些文件列为资产,因此无需在pubspec.yaml的字体部分列出它们。这是可以做到的,因为这些文件都是从Google Fonts API中统一命名的(所以请确保不要重命名它们!)

    我从未将Android studio中的APK分析器用于Flatter APK,但当我分析正常工作的Flatter APK时,我发现其中包括libflatter.so和libapp.so。颤振的结构当然不同于常规的安卓APK。这些包包含在libapp.so中,不像在原生Android APK中那样作为单独的库添加


    澄清一下:在本机Android APK上,您将看到APK在Flatter APK上使用的外部库。您将看不到外部Flatter库,它们似乎包含在libapp.so和/或libflatter.so中。

    哦,哇!我不知道!但实际上,这只是我正在做的一个项目的测试应用程序。我也面临类似的问题。我正在使用
    http
    包。但是在最终的APK构建中,
    http
    package不再包含。你怎么说http包不再包含了呢?是的。我确保我将其包含在pubspec.yaml中。。但当我构建apk文件时,
    http
    包不再存在,导致我的应用程序无法从外部API资源获取数据。请确保没有互联网问题,并确保您添加了互联网和wifi权限。是的,我已经在清单文件中包含了internet权限,没有internet问题。对于我的其他项目(问题与此测试应用程序类似),我有不同的其他包,包括-
    progress\u dialog
    font\u awesome\u flatter
    http
    。在APK Analyzer中,
    progress\u dialog
    font\u awesome\u flatter
    是最终构建中唯一包含的,但不是
    http
    。是的,我的设备在测试应用程序时可以访问互联网。在APK Analyzer中,我可以在packages文件夹下看到
    progress\u对话框
    font\u awesome\u flatter
    ,但不能看到
    http
    。。