1 votos

¿Cómo transfieres una carpeta a un dispositivo desde Android Studio?

Cuando uso

adb shell "run-as com.example.myapplication push C:\\Users\\x00879271\\Desktop\\ttest /data/data/com.example.myapplication"

Recibo

run-as: exec falló para push: Permiso denegado.

Y puedo arrastrar la carpeta 'ttest' a /data/data/com.example.myapplication usando Android Studio.

Entonces la pregunta es:

  • ¿Cómo transfiere Android Studio una carpeta al dispositivo?
  • O ¿cómo debería transferir una carpeta a /data/data/com.example.myapplication sin usar root?

3voto

pr0nin Puntos 353

Vamos a analizar de cerca el comando que has ejecutado:

adb shell "run-as com.example.myapplication push C:\\Users\\x00879271\\Desktop\\ttest /data/data/com.example.myapplication"

El problema principal es la parte adb shell al principio. Con este comando abres un shell en el dispositivo Android. Todo lo que sigue después de adb shell se ejecuta en tu dispositivo Android. Por lo tanto, especificar una ruta como C:\\Users\\x00879271\\Desktop\\ttest que se refiere a un archivo en tu PC no funcionará porque se ejecuta en Android, que no tiene acceso a los archivos de tu PC.

Si quieres empujar un archivo y usar run-as, no puedes hacerlo en un solo comando. Divídelo en varios comandos:

  1. Empuja el archivo a un directorio común: adb push C:\\Users\\x00879271\\Desktop\\ttest /sdcard/

  2. Copia el archivo al directorio de la aplicación adb shell run-as com.example.app sh -c 'cp /sdcard/ttest /data/data/com.example.myapplication/'

El comando anterior requiere que el comando cp esté presente en tu dispositivo. En dispositivos más antiguos, falta, lo que te obliga a usar un método alternativo usando cat: 'cat /sdcard/ttest > /data/data/com.example.myapplication/ttest' para la última parte del comando.

Si estás interesado en saber qué comandos realiza Android Studio al subir un archivo, por favor ve mi respuesta aquí.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X