gpt4 book ai didi

android - SharedPreferences 未在发布版本中实例化

转载 作者:行者123 更新时间:2023-12-03 13:27:23 36 4
gpt4 key购买 nike

在我的 flutter 应用程序中,我实现了一个入职 View 。因为它应该只加载一次,所以我使用共享首选项来存储一个整数来表示已经显示了入职。当我在 Debug模式下运行应用程序时,一切正常。但是当我构建它的发布版本时,它不起作用。
而且我的应用程序也使用 firebase 移动身份验证。我之所以提到这一点,是因为这也可能是一个原因。
编码:

case InitializeEvent:
SharedPreferences prefs = await SharedPreferences.getInstance();
int initScreen = prefs.getInt(SharedPrefUtil.INIT_SCREEN);
await prefs.setInt(SharedPrefUtil.INIT_SCREEN, 1);
if (initScreen == 1) {
add(CheckAppConfigEvent());
} else {
yield state.clone(page: RootState.ONBOARDING_PAGE);
}
yield state.clone(loading: false);
break;
因此,在上面的代码中,如果我评论初始化共享首选项、读写行并在 if else 语句中设置 true 或 false,则在发布版本中一切正常。这就是为什么我认为问题在于初始化共享偏好。
而且我只允许互联网。我是否缺少 AndroidManifest.xml 中的任何权限
<uses-permission android:name="android.permission.INTERNET"/>

最佳答案

我的应用程序也无法在发布版本中运行,问题是由于 shared_preferences 包裹。
我在发布版本中收到以下错误:
MissingPluginException(在 channel plugins.flutter.io/shared_preferences 上找不到方法 getAll 的实现)
我尝试了几种解决方案:

  • 切换 flutter channel
  • 尝试了多个版本的 shared_preferences
  • 删除 .pub-cache 文件夹,如此处所述 https://github.com/flutter/flutter/issues/38873#issuecomment-680788165

  • 但没有任何效果。
    该应用程序在调试版本中运行良好,但在发布版本中却不行。
    然后我尝试了 flutter build apk --no-shrink flutter build appbundle --no-shrink并且该应用程序在发布版本中也运行良好。但是在不缩小代码的情况下解决了这个问题。
    所以这需要修复。
    希望 Flutter 团队能够调查并解决这个问题。
    编辑:
    已经向 Flutter 团队报告了这个问题。
    https://github.com/flutter/flutter/issues/65334

    关于android - SharedPreferences 未在发布版本中实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63033700/

    36 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com