Android 在根设备上使用su命令复制文件和目录

Android 在根设备上使用su命令复制文件和目录,android,root,su,Android,Root,Su,这里经常有人问类似的问题,但我不知道我到底要做什么。这不是重复的,因为这里许多线程上的解决方案不是我想要的,或者对我不起作用。我想将文件和目录复制到/data/文件夹中的文件夹中。所以,我在So上做了很多搜索,在Google上搜索了几个小时。但是我发现的所有线索都不够清晰,不能让我得到我想要的。我也发现了这个博客,但这对我没有帮助 我尝试过的 我能够将目录从/data/目录复制到sd,而不需要su命令,而且它只适用于java代码。第一个问题:从/data/文件夹复制到sd卡是否不需要root

这里经常有人问类似的问题,但我不知道我到底要做什么。这不是重复的,因为这里许多线程上的解决方案不是我想要的,或者对我不起作用。我想将文件和目录复制到
/data/
文件夹中的文件夹中。所以,我在So上做了很多搜索,在Google上搜索了几个小时。但是我发现的所有线索都不够清晰,不能让我得到我想要的。我也发现了这个博客,但这对我没有帮助

我尝试过的

我能够将目录从
/data/
目录复制到sd,而不需要su命令,而且它只适用于java代码。第一个问题:从
/data/
文件夹复制到sd卡是否不需要root权限? 我完成的下一步是执行su命令,如下所示:

Process pp  = Runtime.getRuntime().exec("su cat "+originDir+" > "+targetDir);
其中orginDir是sd卡上文件的路径,targetDir是
/data/
目录中的文件夹,如
字符串
,例如:

/data/test/testfile.txt
这里的问题是,我可以复制这个文件,但它有0个字节。那么我做错了什么

我想要什么

  • 我想将一个文件从sd卡复制到
    /data/
    目录
  • 我想在
    /data/
    目录下创建一个文件夹
  • 我想把整个目录复制到
    /data/
    目录

  • 我已经搜索了很多,但是我找不到一个使用su命令将文件写入该目录的好教程。另外,是否有一个列表,其中列出了Android中所有可用的可编程执行的su命令?相信我,我不是一个懒惰的开发人员,我搜索了很多东西,但是我没有找到一个好的教程。

    使用copy-linux命令并添加-r(递归)切换到它
    cp-r/source//target/
    。如果目标不存在,它将创建目标

    但在此之前,您需要使您的系统是可写的

    mount -o remount,rw /system 
    cp -r /source/ /target/
    mount -o remount,ro /system #Don't forget to do this, even if everything else fails!!!!
    

    编辑:根据下面的评论,此解决方案只应在针对相对较新的设备时使用

    好的,我会尝试。但是我读到cp命令并不是在所有设备上都有效。这是真的吗?我对此一无所知。检查你的第二个链接,它在没有安装busybox的终端命令列表中。CP是一个相对较新的添加到stock androidRealy中的吗?向把它放在那里的人表示热烈的祝贺,向在android的第一个版本中没有把它放在那里的人一记耳光。@ChrisStratton,你知道它是从哪个API开始提供的吗?你修好了吗?