【问题标题】:Access Skype db from data/app location从数据/应用程序位置访问 Skype 数据库
【发布时间】:2014-03-21 10:23:55
【问题描述】:

我想获取名为 main.db 的 Skype db 文件,它不像 WhatsApp 等那样加密,然后将该文件复制到我的自定义文件夹中。
我正在尝试做以下事情:(我的设备已植根,我正在授予我的应用超级用户访问权限

public void getSkypeDB() throws InterruptedException
{
    Process sh;
    try
    {
        sh = Runtime.getRuntime().exec("su", null, null);
        File skypeDir= new File("/data/app", "/com.skype.raider");
        Toast.makeText(getApplicationContext(), skypeDir.toString(), 0).show();
        sh.waitFor();
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
}  

执行此操作后,我的应用程序崩溃了!

如何访问其数据库或访问/data/app 文件夹中的数据库位置?

【问题讨论】:

    标签: android skype


    【解决方案1】:

    应用的数据库不会在/data/app/<app_package_name> 中,这是下载或预捆绑的 APK 所在的位置。应用程序的运行时数据目录位于 /data/data/<app_package_name>。此外,请务必包含来自异常捕获或崩溃本身的堆栈跟踪,否则人们很难提供帮助。

    【讨论】:

    • 数据库将位于/data/data/<app_package_name>/databases/main.db
    • 感谢您的快速回复:) 我现在就试试。如果我遇到任何错误,我一定会在未来发布日志。
    • @sunny... 没有数据库文件夹... :/ 我的设备已植根,我正在根资源管理器中检查它...
    • 这是一个愚蠢的问题,但 Skype 应用程序是否真的已加载并在该设备上运行?
    • 这个问题其实并不傻。您可能已经安装了应用程序,但从未真正运行它,因此不会创建应用程序管理的任何运行时数据。但是,我听到你在说什么。向每个人提供数据目录中实际存在的数据的列表可能会有所帮助。旧版本的 Skype(大约 2011 年)会将数据库存储在用户登录名的子目录中。我不确定最新版本是做什么的,但是没有看到目录列表就无法猜测。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    • 2015-12-02
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多