En primer lugar, hay que introducirlo en un directorio, como por ejemplo /data/local/tmp
. A continuación, hay que establecer el permiso para ello mediante chmod 755 executable
. Después de eso, puedes ejecutarlo como ./executable
.
Los pasos completos son los siguientes:
adb push executable /data/local/tmp
adb shell
cd /data/local/tmp
chmod 755 executable
./executable
Alternativamente, si quieres ejecutarlo desde tu carpeta de activos, tienes que copiar el archivo en tu carpeta de datos /data/data/packagename/
. A continuación, utilizando File
se establece la clase setExecutable
bandera a true
para el archivo y ejecutarlo mediante la clase Process o paquetes de terceros como Herramientas para root .
ACTUALIZACIÓN
si usted está apuntando a sdk 29 o superior no puede utilizar el binario de su carpeta de activos! usted tiene que copiar su binario a la carpeta jnilib entonces ejecutarlo desde el directorio de la biblioteca nativa! context.getApplicationInfo().nativeLibraryDir
0 votos
Probado
chmod +x pgm
y luego./pgm
¿También?8 votos
Posiblemente lo colocaste en tu tarjeta sdcard -- que está montada con el
noexec
bandera. Es necesario moverlo al almacenamiento interno del teléfono, o ejecutarlo a través de un shell (por ejemplosh /path/to/myexecutable
).2 votos
stackoverflow.com/questions/9868309/
0 votos
Duplicado: ¿Cómo se pueden ejecutar ejecutables nativos compilados para ARM en dispositivos Android no rooteados?