"Ningún archivo o directorio" que intenta ejecutar linux binario en el dispositivo Android
He construido un binario ARM linux nativo usando la cadena de herramientas Android GCC (linux simple, no android o NDK).
He conectado, desde mi PC, a través de un shell de adb, a una tableta que ejecuta Android 4. "empuje" que el binario en / system / bin en ese dispositivo, con la esperanza de que lo ejecute allí. Lo marcó ejecutable con chmod 777.
- Runtime.exec no funciona
- SDK de Android en una máquina Linux de 64 bits
- Comando grep no encontrado en el shell de adb
- Desarrollo móvil (Android & iOS) principiante necesita orientación
- ¿Cómo obtener el nombre del modelo de la CPU de Android?
Si intento ejecutarlo, obtendría "Ningún archivo o directorio".
Más información: El pequeño programa utiliza fc y fm libs. Dado que la cadena de herramientas ARM no parece tener crt1, que, a partir de un ejemplo que encontré, normalmente contiene el código de inicio, buscamos archivos que lo contienen en la compilación android, encontramos crtbegin_dynamic y crtend_dynamic, pero para _static equivalente, uno de los pares Estaba desaparecido, así que no pasé -estatic a GCC. Fue construido con "-nostdlib".
¿Cuál podría ser el problema (s)?
- Cómo hacer que una función de kernel linux esté disponible para ftrace function_graph tracer?
- ¿Posibles estados de los subprocesos nativos en Android?
- Adb no muestra el dispositivo nexus 5
- No se puede crear Debug Bridge No se puede detectar la versión de adb. Error de sintaxis: ")" Actualización de Platform-tools 23.0.1 a 23.1.0 Linux-32 bits causa problema
- ¿Hay diferencias entre las versiones de Windows y Linux del SDK de Android?
- Colorear las líneas de logcat en Linux
- Herramientas de desarrollo de Android
- Dispositivo LG no listado en dispositivos ADB
Si está trabajando en una plataforma de 64 bits como Ubuntu 64, esta sugerencia puede ayudarle a resolver el problema. Sólo intenta obtener las bibliotecas de compatibilidad i386 de 32 bits instaladas simplemente con apt-get:
sudo apt-get install ia32-libs
Funciono muy bien para mi. Déjeme saber si usted está atascado en el mismo problema.
Para Ubuntu 13.10 o superior
Como aditya dijo en los comentarios a esta respuesta:
A partir de Ubuntu 13.10, uno tiene que ejecutar esto ahora: sudo apt-get install lib32z1
, puede que necesite obtener el stdlibs de C ++ también, con esto: sudo apt-get install lib32ncurses5 lib32stdc++6
Para corregir el comentario de aditya anterior, también puede usar lo siguiente para los stdlibs de C ++ en Ubuntu 13.10:
sudo apt-get install lib32ncurses5 libstdc++6:i386
- Android form build: proguard no puede encontrar el método de referencia en la clase ViewConfigurationCompatFroyo
- ¿Cómo integrar Scala en la plataforma Android principal?