【问题标题】:Flutter run from terminal works while manually not从终端运行的颤振工作,而手动不工作
【发布时间】:2021-06-08 21:53:12
【问题描述】:

当我运行flutter build apk --release 时一切正常,此外当我将手机连接到计算机并运行flutter install -v 时一切正常。此外,当我运行 flutter run -v 时,我的应用程序在我的手机上运行良好。

但是当我手动将 apk 发送到我的手机,安装并打开我的应用程序时,它卡在启动屏幕上。

我不知道什么情况下它不能手动工作(因为我无法跟踪我的日志)。

  • 我正在使用 firebase,我的 google-services.json 是最新的。
  • 颤振医生就好了。
  • android SDK 版本 30.0.2。
  • app/build.gradle compileSdkVersion 30.
  • gradle 版本 6.6.1。
  • 类路径“com.google.gms:google-services:4.3.5”
  • 类路径'com.android.tools.build:gradle:4.0.2'

关于如何验证我的应用程序有什么建议吗?什么情况下会出现这样的问题?

谢谢!!!

更多信息

flutter run 上的唯一错误是:

Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.name.name signatures do not match previously installed version; ignoring!]

但正如我之前所说,flutter run 确实有效,并且我的应用正确上传,所以我认为这与我的问题无关。

【问题讨论】:

  • 您是否尝试过从手机或模拟器中删除当前应用然后安装?
  • 是的,我这样做了很多次,但似乎没有任何效果。

标签: android firebase flutter


【解决方案1】:

您是否实施了发布 SHA 密钥?

【讨论】:

  • 是的,我已经检查了我的颤振项目 SHA 密钥是否与我的 gradle 签名版本 SHA 相同
  • 请记住,SHA 密钥有两种类型。为了调试和发布,我也遇到过一次这个错误,在我的情况下,这是因为我的 SHA 密钥没有输入到 Firebase 中。确保将它们都放入,特别是如果您在 Firebase 上使用 google 身份验证
  • 如果上述方法没有帮助,请务必查看此答案:stackoverflow.com/questions/41709102/…
  • 首先感谢@Nedim Karavdic 的帮助。我刚刚检查过,我的发布和调试 SHA 密钥已正确放置在 firebase 上。
  • 几个开发者在他们的项目中遇到了同样的问题,其中对绝大多数人有用的东西是命令:adb uninstall "com.domain.yourapp"
【解决方案2】:

在使用flutter run -v 进行多次测试后,我发现在某些情况下我得到了:

Unhandled exception: MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences)

我确实使用 shared_preferences 包,这个答案肯定能解决我的问题https://stackoverflow.com/a/63027655/12695188

虽然这是一个特定的解决方案,但我将描述我为找到我的问题所做的工作:

  1. 颤振酒吧获取
  2. flutter build apk --debug
  3. flutter build apk --profile
  4. flutter build apk --release
  5. 将您的物理设备连接到您的计算机
  6. flutter install -v(到您的物理设备)
  7. 颤动运行-v

解决您在flutter run -v 上发现的每个问题。

希望这会对那里的人有所帮助。

【讨论】:

    猜你喜欢
    • 2020-12-03
    • 2021-11-02
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 2018-10-11
    • 2013-09-08
    相关资源
    最近更新 更多