将文件从资产复制到永久位置Qt + Android

Copy file from assets to permanent location Qt + Android

本文关键字:位置 Qt Android 文件 复制      更新时间:2023-10-16

我正在尝试将打包在 assets 文件夹中的默认初始化数据库复制到 android 设备中的永久位置。为此,我有以下代码:

QString db_file = "/my_db";
QString path = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
QFile assets_path("assets:" + db_file);
assets_path.copy(path + db_file);
QFile::setPermissions(path + db_file, QFileDevice::ReadUser | 
                                      QFileDevice::WriteUser);

然后我会继续在这个新路径中打开数据库,问题是我在复制后收到以下错误。

Copy error "Cannot create /data/user/0/org.qtproject.Demo/files/my_db for output"

我做错了什么?这也是正确/正确的方法吗?

谢谢。

嗯,

父级是Qt 5.10预构建版本中的一个错误,回滚到Qt 5.9并且可以工作。很遗憾,因为我需要QML翻译功能。

https://bugreports.qt.io/browse/QTBUG-64103