从终端运行的颤振工作,而手动不工作

Posted

技术标签:

【中文标题】从终端运行的颤振工作,而手动不工作【英文标题】: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 确实有效,并且我的应用正确上传,所以我认为这与我的问题无关。

【问题讨论】:

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

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

【讨论】:

是的,我已经检查了我的颤振项目 SHA 密钥是否与我的 gradle 签名版本 SHA 相同 请记住,SHA 密钥有两种类型。为了调试和发布,我也遇到过一次这个错误,在我的情况下,这是因为我的 SHA 密钥没有输入到 Firebase 中。确保将它们都放入,特别是如果您在 Firebase 上使用 google 身份验证 如果上述方法没有帮助,请务必查看此答案:***.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://***.com/a/63027655/12695188

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

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

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

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

【讨论】:

以上是关于从终端运行的颤振工作,而手动不工作的主要内容,如果未能解决你的问题,请参考以下文章

在颤振构建网站后没有显示构建文件不工作显示空白

折线颤振工作不正确

Xcode 构建和运行应用程序工作但存档失败(颤振)

将 Firebase 与颤振集成 - 不工作

Java - 从终端运行 jar 可以工作,但双击会中断功能

从 yarn 工作区子包内部,运行根级脚本