android - 运行 shell 命令从 Android 应用程序复制文件

标签 android shell process command 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");

当它运行时我可以授予 super 用户然后它说它已经完成但是没有文件未被复制。我只是将 eBay 应用程序用作示例和测试。

感谢您的帮助。

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

最佳答案

Android 不支持cp 命令。为此,您必须使用 cat 命令(仅来自 shell),例如,

cat source_file > dest_file

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

编辑:

也可以使用命令,

dd if=source_file of=dest_file

关于android - 运行 shell 命令从 Android 应用程序复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11314821/

相关文章:

android - Android 中的 FFMPEG 视频录制覆盖绿色锁存器

android - WebUSB API 错误 : The device was disconnected

shell - 我怎样才能在fish中执行bash 'set -e'、 'set -u'和 'set -x'?

bash - 追加 bash 参数并转发给其他脚本

c - 使用C将exec进程发送到后台?

java - 尝试在 Google Endpoints 对象中设置 byte[] 类型的参数时,预计会出现一个字符串

android - 如何像在 iPhone 中一样在 Android 中创建地址簿?

macos - 从SSH返回时维护选项卡名称

c# - 在 A SYSTEM 上消耗几乎 100% CPU 的应用程序

c++ - 当另一个线程正在运行时,线程连接会导致段错误