首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >访问/data/data/com.whatsapp

访问/data/data/com.whatsapp
EN

Stack Overflow用户
提问于 2012-09-07 21:40:30
回答 1查看 13.1K关注 0票数 3

嘿,在为2.3.3构建一个android应用程序时,我得到了以下错误:

我试着访问这些文件:

代码语言:javascript
运行
复制
private static final String src_msg = "/data/data/com.whatsapp/databases/msgstore.db";
private static final String src_wa = "/data/data/com.whatsapp/databases/wa.db";

我之前执行了su:

代码语言:javascript
运行
复制
Process process = Runtime.getRuntime().exec("su");

我尝试通过cp命令->将文件复制到sdcard没有成功我尝试通过new File(src_msg).exists() ->检查文件是否存在没有成功

我在清单中使用以下权限:

代码语言:javascript
运行
复制
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

这里还遗漏了什么?弹出允许root的弹出窗口,并已被接受。

EN

回答 1

Stack Overflow用户

发布于 2012-09-07 21:50:28

试试这个:(感谢ramdroid )

代码语言:javascript
运行
复制
private boolean run(boolean runAsRoot, String cmd) {

String shell = runAsRoot ? "su" : "sh";

int exitCode = 255;
Process p;
try {

    p = Runtime.getRuntime().exec(shell);
    DataOutputStream os = new DataOutputStream(p.getOutputStream());

    os.writeBytes(cmd + "\n");
    os.flush();

    os.writeBytes("exit\n");
    os.flush();

    exitCode = p.waitFor();

} catch (IOException e1) {
        Log.e("Exception", e1.toString());
} catch (InterruptedException e) {
        Log.e("Exception", e.toString());
}
return (exitCode != 255);

}

代码语言:javascript
运行
复制
public boolean copyFile() {
return run(true, "busybox cp /data/FILE TO COPY space DRECTORY TO COPY");
} 

仅将YOUR_DIRECTORY和目录更改为COPYto所需的内容。

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

https://stackoverflow.com/questions/12319301

复制
相关文章

相似问题

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