从终端运行的颤振工作,而手动不工作
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
上发现的每个问题。
希望这会对那里的人有所帮助。
【讨论】:
以上是关于从终端运行的颤振工作,而手动不工作的主要内容,如果未能解决你的问题,请参考以下文章