首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为我没有源代码的应用程序禁用WAL?

为我没有源代码的应用程序禁用WAL?
EN

Stack Overflow用户
提问于 2019-03-31 02:37:34
回答 1查看 92关注 0票数 1

我有一个应用程序的apk,与Android 9不兼容,因为它现在强制WAL而不是日志模式。有没有办法在不访问应用程序源代码的情况下禁用WAL?

EN

回答 1

Stack Overflow用户

发布于 2019-03-31 04:40:23

如果你不能控制应用程序的源代码,那么我不相信你可以改变模式。

也就是说,应用程序无法工作的最有可能的原因是使用了预先存在的数据库(从assets文件夹复制)。

如果是这样,并且您可以访问应用程序正在运行的另一个设备(即低于Android 9),并且您可以访问数据库文件(可能需要有根的设备)。在Android9设备上删除-shm和-wal文件之后,很有可能从复制数据库文件(同样,它可能需要是根文件)可以工作(虽然会使用WAL ),但问题很可能纯粹是复制预先存在的数据库。

  • I使用5.0和10.0设备(模拟器)进行了测试,结果运行良好。

但是,如果您有权访问代码:-

您可以使用SQLiteDatabase 方法。如果使用SQLiteOpenHelper的子类,则可以通过重写onConfigure方法来执行此操作。

如果不使用SQLiteOpenHelper的子类,那么可以使用 PRAGMA设置日志模式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55434564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档