Registros detallados de la ejecución de archivos ejecutables en la placa de desarrollo Xunwei iMX6

Este artículo tiene como objetivo principal registrar cómo se ejecuta el archivo ejecutable canitf generado al compilar la máquina virtual del sistema Ubuntu en la placa de desarrollo iMX6 de Xunwei . Algunas de las operaciones involucradas son relativamente fijas, por lo que se pueden organizar en pasos de referencia para uso futuro. .

1. Generar archivo ejecutable

Primero, ejecute el siguiente comando en la terminal del directorio correspondiente del sistema Ubuntu para compilar NDK y generar un archivo ejecutable .

/home/yinlong/Music/sdkapp/android-ndk-r14b-linux-x86_64/android-ndk-r14b/ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk

 Luego puede encontrar el archivo ejecutable generado en el directorio actual.

2. Transfiere archivos a la placa de desarrollo.

1. Transfiere archivos manualmente

Conecte la placa de desarrollo a la computadora mediante un cable USB y configure la opción de uso USB de la placa de desarrollo (puede verla tirando hacia abajo en la pantalla principal de la placa de desarrollo) para transferir archivos.

En este punto, puede encontrar el espacio de almacenamiento de la placa de desarrollo en su computadora.

Abra el dispositivo de almacenamiento interno y acceda a la estructura de almacenamiento como se muestra en la siguiente figura. Cabe señalar que esta es la ubicación de la tarjeta SD ubicada en la placa de desarrollo . En este momento, puede colocar el archivo libs generado en Ubuntu en Aquí elijo ponerlo en el directorio de descargas .

( Cabe señalar que si arrastra y suelta archivos directamente desde el sistema Ubuntu, no puede colocarlos en esta carpeta. Primero debe arrastrarlos desde la máquina virtual a su computadora y luego arrastrarlos desde la computadora al almacenamiento. Estructura de la placa de desarrollo ) .

2. Busque el archivo libs en la placa de desarrollo y verifíquelo.

Después de ejecutar los pasos anteriores, el archivo se almacenó en la placa de desarrollo. Si desea verificarlo, puede abrir la placa de desarrollo y buscar la configuración , y hacer clic en Dispositivos de almacenamiento y USB en la configuración .

Luego haga clic en Explorar  en la parte inferior para ingresar al espacio de almacenamiento interno.

Recuerde que acabamos de almacenar el archivo en el directorio de descargas , así que abra la descarga en el espacio de almacenamiento interno y podrá ver la carpeta libs que colocamos antes.

Esto también puede verificar que nuestras operaciones anteriores fueron correctas.

3. Utilice adb shell para ejecutar el archivo ejecutable.

Aunque el archivo ejecutable generado en este momento ya está en la placa de desarrollo, debido a que está colocado en la tarjeta SD, debido a algunas configuraciones de la placa de desarrollo, no podemos ejecutar el archivo ejecutable ubicado aquí, por lo que debemos transferirlo a la placa de desarrollo Luego ejecútelo en otro directorio de almacenamiento, lo que requiere el uso de la herramienta adb shell. Los pasos específicos son los siguientes:

1. Configurar adb shell

Abra el símbolo del sistema en su computadora, ejecute el siguiente comando e ingrese al shell adb como root.

( Nota: la placa de desarrollo necesita obtener permisos de root para realizar este paso con éxito. Cómo obtener permisos de root puede consultar el Capítulo 27, Sección 27.5 de [Beijing Xunwei] Manual del usuario de la placa de desarrollo iTOP-i.MX6_v1.9: Android6.0.1 -obtener permisos de root )

( Nota: al ejecutar el comando adb devices, es probable que aparezca un mensaje de dispositivo no autorizado . Resolví este problema. Consulte la publicación del blog: Se resolvió con éxito el problema de la visualización no autorizada del dispositivo después de la conexión adb del dispositivo Android ). 

( Nota: al ejecutar el comando adb root, puede aparecer una ventana en el dispositivo de la placa de desarrollo, lo que aproximadamente significa ... haga clic en Aceptar para permitir la depuración USB )

adb devices
adb root
adb shell

Después de ejecutar el comando anterior, puede ver lo que se muestra en la siguiente figura: root@...# significa operar la placa de desarrollo como root, lo cual es conveniente para modificaciones posteriores de permisos de archivos y otras operaciones. 

2. Copie archivos a otros directorios

Dado que nuestro archivo libs todavía está ubicado en la tarjeta SD, podemos verlo a través de la línea de comando y ejecutar el siguiente comando para ingresar al directorio de descarga de la tarjeta SD .

cd /sdcard/download

 Ejecute el comando ls nuevamente y podrá ver que existe la carpeta libs que acabamos de colocar en este directorio.

Dado que no hay forma de ejecutar el archivo ejecutable en este directorio, ejecute el siguiente comando para transferirlo a otro directorio. Aquí lo coloco en el directorio /data/local/tmp . Por supuesto, también puede elegir otros directorios, pero esto no es posible. Seleccione el directorio en / sdcard para almacenar

cp -r libs /data/local/tmp

 Luego saltamos y ejecutamos el comando ls, y veremos claramente que la carpeta libs ha sido copiada.

cd /data/local/tmp

ls

3. Modificar los permisos de los archivos

Dado que el archivo ejecutable que realmente quiero ejecutar es el archivo ejecutable canitf colocado en el directorio libs, salto al directorio donde se encuentra.

cd /data/local/tmp/libs/armeabi-v7a

Pero si lo ejecutamos directamente, se nos preguntará Permiso denegado, lo que significa que no tenemos permiso para ejecutar el archivo, porque los permisos del archivo todavía están configurados en un estado de no lectura ni escritura.

Esto requiere que modifiquemos los permisos del archivo. Dado que somos el superusuario root en este momento, podemos ejecutar directamente el siguiente comando para configurar el estado del archivo para que podamos ejecutarlo.

chmod 777 canitf

4. Ejecute el archivo ejecutable. 

Después de modificar los permisos del archivo, ejecute el comando para ejecutar el archivo con éxito. 

./canitf

Supongo que te gusta

Origin blog.csdn.net/danielxinhj/article/details/132314494
Recomendado
Clasificación