"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.

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)?

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 
  • Cómo reparar Genymotion en linux ElementaryOS con error `CXXABI_1.3.8 'no encontrado
  • ¿Cómo descargar servicios antiguos de google play?
  • Uso de lenguajes de programación sobre diferentes sistemas operativos
  • Ajuste de la tasa de perfil de la muestra con 'perf record'
  • Cómo dibujar con framebuffer en Android?
  • Fastboot y adb no funcionan con sudo
  • ¿Cómo usar el comando su sobre adb shell?
  • Una buena manera de identificar la sección de código en / proc / * / maps
  • No se pudo obtener la versión del anuncio ... Ningún archivo o directorio
  • Anclaje inverso de varios dispositivos Android a través de USB
  • ./fastboot: Ningún archivo o directorio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.