Ejecución de un comando de shell para copiar archivos de la aplicación Android

Estoy tratando de obtener una aplicación para que pueda respaldar mis aplicaciones a sdcard. Corrí:

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"); 

Cuando se ejecuta puedo conceder superusuario entonces dice que está hecho, pero no hay ningún archivo no se copia. Sólo estoy usando la aplicación de eBay como ejemplo y prueba.

Gracias por cualquier ayuda.

Corrección: gracias por la ayuda a continuación, pero he encontrado una solución completa y un poco diferente forma de hacer las cosas aquí "http://stackoverflow.com/questions/10735273/copy-folders-in-data-data-to-sdcard-viceversa? rq = 1 "

2 Solutions collect form web for “Ejecución de un comando de shell para copiar archivos de la aplicación Android”

Android no admite el comando cp . Para esto tienes que usar el comando cat ( solo desde shell ) como,

 cat source_file > dest_file 

O utilice BusyBox con su aplicación.

EDITAR:

también se puede utilizar el comando,

 dd if=source_file of=dest_file 

Este QA me ayudó mucho, así que quería añadir algo a las diversas respuestas de ejecutivos. En lugar de utilizar Runtime.getRuntime (). Exec (String), considere el uso de Runtime.getRuntime (). Exec (String []). Esto debería evitar que las rutas de acceso a archivos con espacios causen estragos en su sistema de archivos.

Tratar

 Process copy = Runtime.getRuntime().exec( new String[]{ "dd", "if=" + inputFile.getAbsolutePath(), "of=" + outputFile.getAbsolutePath() }); 
  • Cómo empujar las carpetas de la computadora en sdcard usando adb shell
  • shell script en android da [: no encontrado
  • ¿Cómo probar la conexión wifi vía adb?
  • ¿Cómo puedo saber si una actividad de Android ha finalizado desde un comando externo de adb?
  • Repo: comando no encontrado en la secuencia de comandos automatizada bash para crear cyanogenmod
  • Adb pull -> dispositivo no encontrado
  • Adb remount permiso denegado, pero capaz de acceder a superusuario en shell - android
  • Adb shell su funciona, pero la raíz adb no
  • Monte una tarjeta SD manualmente desde el shell de adb en android
  • Adb extraer archivo en una carpeta específica de Pc
  • Android: ¿Cómo saber si alguna aplicación ya está instalada en el dispositivo android usando adb?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.