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 puedo usar adb para desinstalar un APK de varios dispositivos conectados?
  • ¿Por qué el comando SQLite 3 que usa la shell ADB de Android devuelve "permiso denegado"?
  • Acceso a variables de entorno desde Android Studio gradle build
  • ¿Cómo utilizar crontab en Android?
  • ¿Cómo iniciar el dispositivo Genymotion con el comando shell?
  • ¿Ejecutar comandos de Shell a través de código java en Android?
  • ¿Cómo desactivar el Wifi a través de ADB?
  • ¿Cómo averiguar los nombres de las actividades en un paquete? androide. Shell ADB
  • ¿Cómo transmitir la intención de BATTERY_CHANGED con extras a través del shell de ADB?
  • ¿Cómo desinstalar la propia aplicación de / system / app?
  • ¿Por qué la bomba de horquilla no bloqueó el androide?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.