1 votos

No se puede ejecutar el binario empujado

He empujado el archivo adb ejecutable a /system para usarlo para conectarse a otros dispositivos, pero el shell no puede ejecutar este archivo. ¿Por qué?

chiron / # file `which adb`
/system/xbin/adb: ELF executable, 64-bit LSB arm64, dynamic (/lib/ld-linux-aarch64.so.1), BuildID=408e8d3f813fbb95b782db5d56f91bc41b451acb, stripped
chiron / # adb
bash: /system/xbin/adb: No such file or directory

2voto

Guillermo Gomez Puntos 423

Seguramente has hecho mal la compilación cruzada.

Como file sugiere, el enlazador dinámico para el binario es /lib/ld-linux-aarch64.so.1 que no existe en Android. El enlazador de Android se encuentra en /system/bin/linker (32 bits) y /system/bin/linker64 . Es necesario especificar esta ruta como el enlazador dinámico al compilar.

Puede intentar enlazar el enlazador dinámico de Android con la ruta revelada por file .

0 votos

chiron / # /system/bin/linker64 /system/xbin/adb This is /system/bin/linker64, the helper program for dynamic executables.

0 votos

¿Qué quiere decir? /system/xbin ya está en el PATH y no puedo enlazar este archivo en algún lugar para hacerlo más ejecutable.

0 votos

@J.Doe Me refiero exactamente a esto: mkdir /lib; ln -s /system/bin/linker64 /lib/ld-linux-aarch64.so.1 y luego intente ejecutar su ejecutable.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X