Necesito ejecutar un configurearchivo en mi teléfono Android, así que creo que la mejor manera de hacerlo es usar el adb shellcomando.
Estoy ejecutando un emulador de Android en una plataforma Windows-7, y allí estoy ejecutando el adb shellcomando en una ventana de DOS. Usando el cdcomando voy a cambiar al directorio en mi configurearchivo, y luego estoy ejecutando el siguiente comando: ./configure. Recibo el siguiente error:
./configure: permission denied
Así que trato de ejecutar adb en modo raíz con adb root, pero aparentemente mi adb ya está en modo raíz (Además, tengo el carácter "#" antes de cada línea de mi shell de adb).
También he intentado usar, chmodpero no veo ninguna diferencia antes y después de ejecutar este comando ( ls -la), por lo que tal vez el problema esté aquí (¿Cómo puedo ejecutar el chmodcomando?).
Tal vez alguien aquí pueda ayudarme con mi problema, y si también tiene una explicación sobre por qué no tengo permiso para ejecutar mi configurearchivo, será genial.
Gracias.
PD: Mi objetivo aquí es usar el paquete net-snmp en una plataforma Android compilando las fuentes de este proyecto directamente en la plataforma.

/sdcardPor lo general, se monta con elnoexecindicador en Android, por lo que no puede ejecutar binarios desde él. Recomendaría intentar moverlo a otro lugar (a menudo/data/localse usa para cosas como esa). Vea si eso resuelve el problema./usr/local/tmpdirectorio (todo elnet-snmp-5.7.2directorio en/sdcard.Respuestas:
Esto se debe a 2 cosas:
noexecbandera, como se indica en un comentario. Esto detiene la ejecución de archivos.Solución:
net-snmp-5.7.2directorio al/data/local/tmpdirectorio como root.configurearchivo para que sea ejecutable ejecutándolochmod 0777 /data/local/tmp/net-snmp-5.7.2/configurecomo root./data/local/tmp/net-snmp-5.7.2/configurey presionando enter.Nota
Todo esto debe hacerse como usuario root :)
fuente
Según lo explicado por los comentarios y la respuesta de Liam , esto se debe a la
noexecbandera utilizada por el sistema al montar la tarjeta SD. Si suconfigurearchivo es un script de shell (como suele ser), aún puede engañarlo para que se ejecute:cdal directorio como describió anteriormente, y luego ejecutesh configure.shes el intérprete de Shell, y ese binario debe ubicarse en/system/bindonde los archivos son ejecutables. Al pasar su script como primer argumento, se abrirá un nuevo proceso de shell que ejecuta suconfigurescript.fuente
sh configurehace el truco.