【发布时间】:2011-09-23 07:21:07
【问题描述】:
我找不到我正在开发的应用程序的 sqlite db 文件在平板电脑上运行(而不是在模拟器上)。请任何人与我分享android在哪里保存应用程序的db文件。以及如何将其导出到计算机?最后,是否有任何工具可以解析 sqlite 表达式,即使它没有数据库或表?我的意思是它只会检查短语,并会说该短语是否可以运行。
【问题讨论】:
我找不到我正在开发的应用程序的 sqlite db 文件在平板电脑上运行(而不是在模拟器上)。请任何人与我分享android在哪里保存应用程序的db文件。以及如何将其导出到计算机?最后,是否有任何工具可以解析 sqlite 表达式,即使它没有数据库或表?我的意思是它只会检查短语,并会说该短语是否可以运行。
【问题讨论】:
很遗憾,应用程序的数据库文件在非 root 设备上不可用。您可以使用有根的 Android 设备、Android 标准模拟器或 Genymotion(请参阅 https://www.genymotion.com),以便能够访问您应用的数据库文件。
【讨论】:
它将它保存在基于您的应用程序名称的私有嵌入式 linux 文件夹中,但只有您的应用程序的用户 ID 可以访问。
除非您对平板电脑进行 root,否则您无法直接复制该文件。在模拟器中,可以直接访问该文件,但模拟器是一种特殊情况。
话虽如此,有一个programmatic way 可以从该数据库中提取数据并在 SD 卡上重建它以将其拉回您的 PC(该解决方案并不完美,但在至少总比没有好)。
【讨论】:
不,您无法通过 ADB 或任何其他第三方 Eclipse 插件访问设备(手机或平板电脑)的数据库。
出于安全考虑,此功能受到限制,但您可以在您的平板电脑或手机 root 后访问它,这也是大多数人不喜欢这样做的。
或者你可以选择make the db in sdcard(当数据库太大时推荐)。
【讨论】: