android - Qsettings 适用于 32 位 apk 但不在我的 64 位 apk 中创建文件
问题描述
我正在开发一个使用 QtCreator 构建的 IOS/android 应用程序。对于 Android,我需要 32 位和 64 位版本的 APK 才能将其上传到 Playstore。我的 32 位版本运行良好,但我的 64 位版本不保存任何配置。我正在使用 Qsettings 创建一个 .conf 文件。当我使用 32 位应用程序执行此操作时,无论我在何处创建它,我都可以轻松找到我的 .conf 文件,但对于我的 64 位版本,该文件夹仍然是空的。我检查了一下,我能够在我用于 .conf 文件的同一文件夹上创建文件夹和文件,因此这似乎不是权限问题。有谁知道 Qsettings 是否需要一些特殊的东西才能为 64 位应用程序编写文件?我已阅读文档(https://doc.qt.io/qt-5/qsettings.html)但找不到任何信息。
QSettings::setPath(QSettings::NativeFormat,QSettings::UserScope,QStandardPaths::writableLocation(QStandardPaths::StandardLocation::GenericDataLocation) + "/private");
QSettings settings("Settings", "test");
settings.setValue("test", "text");
settings.sync();
解决方案
我终于找到了我的答案。我使用的是旧版本的 Qt (5.10),并且存在一个影响 QSettings的错误 ( https://bugreports.qt.io/browse/QTBUG-68344 )。如果您处于这种情况,一个简单的解决方法是使用 configure 命令的该参数重建 Qt:
-no-feature-linkat
推荐阅读
- java - 向下投射的视图
- wordpress - 如何命名页面以访问我的分类/术语
- vba - 插入复制的单元格值 [vba]
- itext - Itextsharp 7 - 缩放和居中的图像作为水印
- java - 使用通知抽屉时无法删除标题/操作栏
- java - 如何从资源文件夹中正确获取文件
- android - 如何为 getResources().getString() 创建 SimpleFragmentPageAdapter 的上下文?
- python - Python 方法/函数链接
- django - /cregister/“列 'user_customer_id' 不能为空”处的 IntegrityError
- ios - 错误的 NSLayoutConstraint 导致黑屏