Tengo una tableta Nexus 7 Jelly Bean rooteada y cada vez que intento ejecutar una aplicación desde una aplicación de emulador de terminal después de chmod 777 y usar la sintaxis (./applicationName") insiste en que no tengo permiso para ejecutar a pesar de que otorgué mis privilegios de superusuario usando ("su"). Después de eso, investigué un poco y aprendí que si copia el archivo en el directorio (/data/local/temp/) debería poder ejecutar la aplicación. Entonces, cuando lo intenté, dijo que el archivo no existe a pesar de que aparece al enumerar el contenido del directorio usando ("ls")
No tengo idea de qué pasos tomar, si ayuda, intenté ejecutar (scp) como prueba, pero deseo poder ejecutar una versión compilada personalizada de dns2tcp. Sé que podría haber usado mejores aplicaciones, como hello world compilado de forma nativa en el dispositivo, pero no pude tener en mis manos un compilador de C para Android como gcc.
gracias por cualquier consejo
intente poner sh
delante de su comando, por ejemplo:
sh ./scp
o
sh -c ./scp
La aplicación del emulador debería poder ejecutar otra aplicación desde su propio directorio. Ese directorio se llama algo así como /data/data/com.super.emulator
. Intente dar la ruta completa a la aplicación que desea en el emulador.
Si desea obtener un compilador para Android, puede usar NDK . Fácil de obtener, de uso gratuito.
¿No puedes también enviar tu archivo a /system/bin
través de adb ? No sé si obtienes ese permiso cuando rooteas tu dispositivo. Pero si ese es el caso, debería hacer su vida mucho más fácil.
Lo más probable es que no pueda ejecutar el programa debido a que faltan bibliotecas en el dispositivo en el que lo extrajo del dispositivo en el que lo copió.
Dado que su objetivo final es compilar un programa y ejecutarlo de forma nativa en el teléfono, ¿podría sugerirle que use el NDK de Android ? La documentación del NDK incluye una STANDALONE-TOOLCHAIN.HTML
explicación sobre cómo realizar una compilación cruzada de un programa nativo para ejecutarlo en su dispositivo Android.
Si está rooteado (veo que lo está), use el su
comando y luego ejecute su script original. Si el problema son los permisos, esto debería solucionarlo. Y si está utilizando un script de shell, puede simplemente agregarle esta línea en la parte superior. es posible que deba verificar la configuración de su superSu (o cualquier aplicación de superusuario que tenga con la raíz) y asegurarse de que su emulador de terminal tenga permisos de raíz.
Si no está rooteado (o no puede ejecutarlo como root por algún motivo), le sugiero que investigue cómo lo hace XBMC, ya que creo que puede ejecutar aplicaciones en modo de usuario.
Buena suerte.
ce4
Andrei0427
izzy
/data/local/tmp/scp
? ¿Y se aseguró de que suscp
archivo no tenga extensión de archivo cuando se le llame sin ninguna?Andrei0427
mateo leer