|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

App inventor 2 en español
Cómo programar los teléfonos móviles con Android
mediante App inventor 2 - Juan Antonio Villalpando

-- Tutorial de iniciación de App Inventor 2 en español --

Volver al índice del tutorial

____________________________

278.- Ejecutar comandos del shell.

Extension_Terminal.aia

com.KIO4_Terminal.aix

- Extensión para poder ejecutar comandos del shell.

- En mi caso los comandos del shell se encuentran en /system/bin

- Se pueden encontrar en otra dirección, pero el $PATH lo localizará.

- Puedes ver un comentarios de estos comandos en:

https://community.appinventor.mit.edu/t/using-linux-commands-in-app-inventor-extension/6469/

awk ::: base64 ::: basename ::: bunzip2 ::: bzcat ::: bzip2 ::: cal ::: cat ::: cksum ::: cp ::: curl ::: cut :::: date ::: dd ::: df ::: diff ::: dirname ::: du ::: echo ::: egrep ::: env ::: fgrep ::: file ::: find ::: ::: getprop ::: grep ::: gunzip ::: gzip ::: head ::: hostname ::: ifconfig ::: ip ::: ls ::: md5sum ::: mkdir ::: mount ::: mv ::: netstat ::: ping ::: printf ::: ps ::: rm ::: rmdir ::: sed ::: service ::: tail ::: tar ::: top ::: touch ::: toybox ::: tr ::: truncate ::: uptime ::: uudecode ::: uuencode ::: wc ::: zcat ::: zip_utils

gzip comprime pero no descomprime. Probar gzip -d archivo.gz

cd no funciona. Tampoco devuelve información de errores.

- Se pueden utilizar comodines como * y ?.

- Mediante el comando cat, podemos ver información de la batería, el sistema, los procesos,...

.

----------------------------------------------------------------------

- Mediante este bloque podemos copiar archivos desde el assets a la SdCard.
- En path, debemos poner la dirección absoluta, ejemplo: /mnt/sdcard/my_file.png

- Estos bloques de Copia del assets, solo funcionan cuando la aplicación está INSTALADA.


- Si quieres copiar archivos desde el assets mientras estás en emulación con el MIT COMPANION utiliza:
cp /mnt/sdcard/AppInventor/assets/my_file_in_assets.png /mnt/sdcard/my_file.png

---------------------------------------------------------------------------------------

- Con el siguiente bloque también podemos extraer un archivo del asset, pero en este caso se copia internamente en la misma aplicación, de tal manera que podemos acceder al archivo indicando su nueva dirección.

- Por ejemplo, tenemos el archivo logo1.png en el assets, este bloque lo copia en otro lugar dentro de la misma aplicación, concretamente en:
/data/user/0/appinventor.ai_minombre.mi_aplicacion/cachelogo1.png

este archivo es fácilmente accesible desde esa dirección.

---------------------------------------------------------------------------------------

- Mediante este bloque podemos copiar todos los archivos del assets en el directorio indicado, si el directorio no existe, lo crea el mismo bloque.

---------------------------------------------------------------------------------------

- Mediante este bloque podemos obtenemos un listado de todos los archivos del assets.

- De esta manera conseguiríamos el listado del assets cuando estamos en emulación con el COMPANION.

Si no quieres que aparezca tanta información, escribe simplemente ls /mnt/sdcard/AppInventor/assets/

---------------------------------------------------------------------------------------

- IMPORTANTE.

- Si compilas la aplicación, es necesario poner estos bloques para permitir que se pueda escribir en la SdCard. También es necesario con el bloque AssetsToCacheDir.

__________________________________________

- En Kodular sería así:

_______________________
- Comentarios.

- Puedes crear y borrar directorios (mkdir y rmdir) y archivos (echo, touch, rm). Ver el contenido de un archivo de texto (cat). Ver listado de un directorio (ls -ali). Con el comando touch puedes cambiar la fecha de un archivo.

- Para ver los comandos disponibles escribes: ls -al /system/bin/

- Para guardar el listado de comandos disponibles en un archivo en la SdCard: ls -al /system/bin/ > /mnt/sdcard/comandos.txt

- La fecha (date). Tiempo que lleva el móvil sin reiniciar (uptime). Copiar archivo de un directorio a otro (cp).

- Ver el tamaño de memoria (df). Ver la IP WiFi (ifconfig wlan0). Se pueden utilizar comodines como * y ?. También funciona el comando grep.

- Puede comprimir con gzip, pero no puede descomprimir.

Líneas de comandos de ejemplo. comandos.txt
mkdir /mnt/sdcard/DIREC, Crea un directorio llamado DIREC en la SdCard
ls -al /mnt/sdcard/, Listado del directorio raíz de la SdCard
echo "Hola amigos." > /mnt/sdcard/DIREC/saludos.txt, Crea un archivo llamado saludos.txt con un texto.
cat /mnt/sdcard/DIREC/saludos.txt, Muestra el contenido del archivo saludos.txt
cp /mnt/sdcard/DIREC/saludos.txt /mnt/sdcard/DIREC/bien.txt, Copia el archivo saludos.txt en el directorio DIREC cambiándolo de nombre.
cat /mnt/sdcard/DIREC/bien.txt, Muestra el contenido del archivo bien.txt
mv /mnt/sdcard/DIREC/bien.txt /mnt/sdcard/DIREC/BIEN.txt, Cambia el nombre o mueve, el archivo bien.txt a BIEN.txt
rm /mnt/sdcard/DIREC/BIEN.txt, Borra el archivo BIEN.txt
date, Muestra la fecha.
uptime, Muestra el tiempo que lleva el sistema encendido.
pwd, Muestra el directorio actual
id, Muestra el identificador del usuario.
df, Muestra el tamaño de las memorias.
ifconfig wlan0, Muestra la IP WiFi.
getprop, Muestra una serie de información disponible.
getprop ro.product.model, Muestra el modelo del dispositivo.
getprop | grep serial, Muestra el identificador del dispositivo.
getprop | grep persist.sys.timezone, Muestra la zona horaria.
ps, Muestra los procesos que se están ejecutando.
top -n 1, Muestra los procesos que se están ejecutando.
cat /proc/stat, Muestra información del sistema y cpu.
cat /proc/meminfo, Muestra información de la memoria.
cat /proc/version, Muestar la versión de LINUX
mount, Muestra los dispositivos montados.
logcat -t 400, Muestra las 400 últimas informaciones de LOG.
touch /mnt/sdcard/ARCHIVO.TXT, Crea un archivo vacío.
rm /mnt/sdcard/DIREC/*, Borra todos los archivos del directorio DIREC
rmdir - p /mnt/sdcard/DIREC, Borra el directorio vacío DIREC
sleep 4, Pausa todo 4 segundos.
ls /sdcard/*.txt, Muestra el listado de archivos del directorio raíz de la SdCard que terminan en .txt
ls /system/bin/, Muestra los comandos disponibles.
ls /system/bin/ > /mnt/sdcard/comandos.txt, Copia el listado de los comandos disponibles en el archivo comandos.txt de la SdCard
ls -l /system/media/audio/ui/, Muestra los archivos de audio.ogg del sistema.
cp /system/media/audio/ui/* /mnt/sdcard/, Copia los archivos de audio del sistema en el directorio raíz de la SdCard.
ps | grep appin, Muestra las líneas que contienen appin
echo $PATH, Muestra el PATH
echo $EXTERNAL_STORAGE, Dirección de la tarjeta.
set, Muestra las variables del sistema.
netstat, Muestra las conexiones de red.
service list, Muestra un listado de servicios.
ls -l /sys/class/power_supply/battery/, Muestra archivos de información de la batería.
cat /sys/class/power_supply/battery/batt_vol, Muestra los voltios de la batería en milivoltios.
cat /sys/class/power_supply/battery/capacity, Muestra la carga actual de la batería.
cat /sys/class/power_supply/battery/batt_temp, Muestra la temperatura de la batería.
cat /sys/class/power_supply/battery/health, Muestra el estado de la batería.
cat /sys/class/android_usb/android0/iSerial, Muestra el identificador del android.
cat /sys/class/android_usb/android0/f_audio_source/device, Muestra información del dispositivo.
ls -l /sys/class/, Muestra archivos que contienen información del sistema.
cat /data/data/com.android.providers.settings/databases/settings.db > /mnt/sdcard/settings.db, Guarda la base de datos de configuración en la SdCard.
su -c "cat /data/misc/wifi/wpa_supplicant.conf > /storage/sdcard1/wifi-networks.txt",
cat /storage/sdcard1/wifi-networks.txt // Visualiza las contraseñas del WiFi. Es necesario ser root.
cat /proc/cpuinfo // Informacion de la cpu
cat /system/build.prop // Informacion del sistema.

- Esta extensión llama a los comandos del shell, que en mi caso está en /system/bin

- He puesto más información en los foros de App Inventor de la MIT.

https://community.appinventor.mit.edu/t/using-linux-commands-in-app-inventor-extension/6469/

https://groups.google.com/forum/#!category-topic/mitappinventortest/app-inventor-extensions/zzW_HW7WLXQ

- Podemos guardar la base de datos settings.db en la SdCard. Después pasar ese archivo al ordenador. Y luego ir a esta dirección: https://sqliteonline.com/

- Y abrir la base de datos con Sqlite.

- El archivo que contiene la configuración del shell, que en realidad es mkshrc,

es: cat  /system/etc/mkshrc

En ese archivo están los alias, el prompt,...

También podemos probar los alias:

alias
history alias
dire='ls -ali'  (?)
dire              (?)

- Obtener la contraseña de tu WiFi (debes ser root):

su -c "cat /data/misc/wifi/wpa_ supplicant.conf > /storage/sdcard1/wifi- networks.txt",

cat /storage/sdcard1/wifi- networks.tx


Si tienes tu móvil rooteado, con los comandos siguientes puedes ver las contraseñas que tiene tu móvil:


cat /data/data/com.android. providers.settings/databases/ settings.db > /mnt/sdcard/settings.db,
su -c "cat /data/misc/wifi/wpa_ supplicant.conf > /storage/sdcard1/wifi- networks.txt",
cat /storage/sdcard1/wifi- networks.txt


------------------------------ ------------------------------ ------------------------------
- Otros comandos:


alias history alias dire='ls -ali'  (?)
dire                      (?)
- File start sh (bash) (sh is mkshrc) alias, prompt...
cat  /system/etc/mkshrc

- Este también es interesante para ver un listado de paquetes instalados:

pm list packages

http://adbshell.com/commands/adb-shell-pm-list-packages

_____________________________________________________________
- Ejemplo.

p178_Extension_Terminal.aia

- Puedes escribir una línea de comandos en el CampoDeTexto y luego pulsar el Botón de Ejecutar

- o Seleccionar un ejemplo en el VisorDeLista.

_______________
- Diseño.

_______________
- Bloques.

-----------------------------------------------------------------------------------------------------------------------------------------

- Versión en inglés:

https://groups.google.com/forum/#!category-topic/mitappinventortest/app-inventor-extensions/zzW_HW7WLXQ

______________________________
- Más información:

- http://issamux.blogspot.com.es/2011/04/android-execute-command-in-shell.html

- Comandos ADB (no es linux): https://developer.android.com/studio/command-line/adb.html?hl=es-419

- Comandos de linux: https://github.com/jackpal/Android-Terminal-Emulator/wiki/Android-Shell-Command-Reference

- Runtime: https://developer.android.com/reference/java/lang/Runtime.html

- Comandos de LINUX (no todos funcionan en nuestro Android): https://www.haiku-os.org/docs/userguide/en/applications/list-cli-apps.html

- Instalar BusyBox: http://kevinboone.net/android_nonroot.html

- Sqlite online: https://sqliteonline.com/

___________________________

 

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información