java - 原生 Android 前台定位服务崩溃 Flutter 应用

标签 java android flutter dart

我想在应用程序最小化时在后台获取位置更新。因此,我在 native Android 中创建了一个带有服务的演示 Flutter 应用程序,我可以在前台运行该服务以获取应用程序的连续位置更新,并且它工作正常,因为我期望它正在更新通知中的位置(用于测试)。

然后我尝试使用 list 文件中提到的与演示应用程序相同的服务来实现与实际 Flutter 应用程序相同的服务,但我的应用程序在启动时崩溃,因此我无法调试,此外我在构建时没有收到任何错误。

我的主要 Flutter 应用程序在没有位置服务实现的情况下运行良好,所以唯一的问题是在实现后它会导致崩溃。

这个问题可能是什么问题和解决方案,或者我如何找出问题所在?

我在原始 Flutter 应用程序中做与演示应用程序的 dart 代码相同的事情。我该如何调查这个问题?

最佳答案

我正在添加关于上述问题的答案。

就我而言,它不是导致应用程序崩溃的前台服务,但问题是随着 flutter 的框架不断增长,我们得到了很多更新和更改。通过其中一次 Flutter 更新,Flutter 在 native 端更新了应用程序的插件注册流程,因此某些具有旧版本依赖项的插件不会在应用程序中注册,因为 Flutter 不再支持 FlutterView(已弃用)。

Note: Always make sure your plugin dependencies are updated to latest version of its dependencies in pubspec.yaml.

对我来说,我为前台创建的主应用程序和演示应用程序正在按照我的预期工作,但是当我合并它们时它崩溃了,因为相机插件依赖版本太旧了。您可以做的第二件事是,它也可以减少由于 androidx 兼容性而出错的机会。不过,在旧应用程序中也不太难做到。
Note : Create new flutter project and move your all dart code to new application.

Please be careful while doing this option.

-- Don't forget to add permissions in manifest files which you are accessing in app.
-- Don't forget to add assets and resources used on native side if you have added or changed.
-- Don't forget to set version according to version of old app.
-- Don't forget to make changes in your gradle files if any of app dependencies use that configurations like minimum sdk, targetSdk, etc... (if it applies in your case) 

如果您觉得这没有用,您可以在 android studio 中运行您的 android 端代码,并可以通过调试该代码并修复它来找出问题所在。谢谢

关于java - 原生 Android 前台定位服务崩溃 Flutter 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59883751/

相关文章:

java - 从按钮数组中获取文本

android - 虽然我正在使用 classname.this 仍然收到 "The constructor Intent(MySampleFragment, Class<Alert>) is undefined"错误

android - 在 Activity 中显示导航 map

java - Google Play 许可证检查 doCheck() 方法导致 nullPointerException 并强制关闭

firebase - Firestore 集合查询作为 Flutter 中的流

java - Git:查找仅更改了serialVersionUID的文件

Eclipse:构建期间发生错误。运行生成器时出错 'Java Builder'

c - 如何在 Dart 中扩展 Pointer<Int8>?

java - 如何使 xxx-source.jar 可用于项目

Flutter.dev 指出每英寸有 96 个逻辑像素,但在我的设备和模拟器中约为 134 个