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 usando la sintaxis ("./applicationName") insiste en que no tengo permiso para ejecutar aunque otorgé mi propio superusuario privs usando ("su"). Después de eso investigué un poco y aprendí que si copia el archivo al 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 cuando se enumera el contenido del directorio usando ("ls")
No tengo idea de qué pasos tomar, si me ayuda, intento ejecutar (scp) como prueba, pero deseo poder ejecutar una versión compilada personalizada de dns2tcp. Sé que podría haber usado mejores aplicaciones, como un hello world compilado de forma nativa en el dispositivo, pero no pude conseguir un compilador de C para Android como gcc.
Gracias por cualquier consejo
/data/local/tmp/scp
? ¿Y se aseguró de que suscp
archivo no tenga extensión de archivo cuando se lo llamó sin ninguna?Respuestas:
intente poner
sh
delante de su comando, por ejemplo:o
fuente
La aplicación de emulador debería poder ejecutar otra aplicación desde su propio directorio. Ese directorio se llama algo así
/data/data/com.super.emulator
. Intenta dar la ruta completa a la aplicación que deseas en el emulador.Si desea obtener un compilador para Android, puede usar NDK . Fácil de conseguir, de uso gratuito.
¿No puedes también empujar 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 hacerte la vida mucho más fácil.fuente
Lo más probable es que no pueda ejecutar el programa debido a las 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, ¿puedo sugerirle que use el NDK de Android ? La documentación del NDK incluye lo
STANDALONE-TOOLCHAIN.HTML
que explica cómo compilar de forma cruzada un programa nativo para que se ejecute en su dispositivo Android.fuente
Si está rooteado (veo que lo está), use el
su
comando y luego ejecute el script original. Si el problema son los permisos, esto debería solucionarlo. Y si está utilizando un script de shell, puede agregarle esta línea en la parte superior. es posible que deba verificar la configuración de superSu (o la aplicación de superusuario que tenga con root) y asegurarse de que su emulador de terminal tenga permisos de root.Si no está rooteado (o no puede ejecutarse como root por alguna razón), le sugiero que investigue cómo lo hace XBMC, ya que creo que puede ejecutar aplicaciones en modo de usuario.
Buena suerte.
fuente