运行shell命令从Android App复制文件

use*_*798 3 shell android command process root

我正在尝试启动应用程序,以便将应用程序备份到SD卡.我跑了:

        Process p = Runtime.getRuntime().exec("su");
    Process c = Runtime.getRuntime().exec(
            "cp /data/app/com.ebay.mobile-1.apk"
                    + Environment.getExternalStorageDirectory()
                    + "/ebay.apk");
    Log.d("copy", "done");
Run Code Online (Sandbox Code Playgroud)

当它运行时,我可以授予超级用户然后它说已经完成但没有文件没有被复制.我只是以eBay应用程序为例进行测试.

谢谢你的帮助.

修复:感谢下面的帮助,但我发现了一个完整的修复和有点不同的做事方式在这里"http://stackoverflow.com/questions/10735273/copy-folders-in-data-data-to-sdcard-viceversa? RQ = 1"

use*_*305 7

Android不支持cp命令.为此,您必须使用cat命令(仅限shell),

cat source_file > dest_file
Run Code Online (Sandbox Code Playgroud)

或者在您的应用程序中使用BusyBox.

编辑:

你也可以使用命令,

dd if=source_file of=dest_file
Run Code Online (Sandbox Code Playgroud)