Flashear la mayoria de dispositivos Android TV


Al igual que ocurre  con los  smartphones con Sistema Operativo Android   que se quedan inoperativos   y no  arrancan,   obligandonos  a  intentar flashearlos con una imagen  Android  especifica  para ese marca , nodelo y version del terminal , tambien otros dispossitivos   pueden seguir esa misma suerte , como por ejemplo  relojes inteligentes ,electrodomésticos con Android, TV  ,   dispositivos android tv box  , etc .
Concretamente un android tv box es un aparato con sistema operativo android en su interior, que conectado a un televisor mediante el puerto HDMI, logra que podamos usar todas las aplicaciones basadas en Android y conseguir toda la conectividad normalmente con un Televisor  .
Estos dispositivos normalmente con s.o. Android  se ven también afectados de mal funcionamiento , lo que en muchas veces nos obligara a recargar la imagen  de su  rom ,  lo cual pasara por intentar flashearlos con una imagen  Android  especifica  para ese marca , nodelo y version del dispositivo  afectado
Afortunadamente la mayoría de  los dispositivos fabricados en China tienen publicadas sus ROM en varios sitios web, lo cual nos ayudara muchisimo en la ardua tarea de intentar recuperar  un dispositivo de estas características ,
Antes de llegar a este paso  por favor  compruebe si ha realizado las dos siguientes operativas:

Primer método

  • Vaya a Configuración principal en su caja Android
  • Seleccione otros y luego ir a Más configuraciones
  • Ir a Backup y reinicio
  • Haga clic en restablecer datos de fábrica
  • Haga clic en reiniciar el dispositivo, luego Borrar todo
  • La caja de Android ahora se reiniciará y se solucionará en la caja de TV.

Segundo método

Todas las cajas con  Android  TV tienen un botón reset o agujero  para introducir un  alfiler e intentar   restablecer y arreglar estas  cajas de Android por los que en primer lugar  es necesario localizar el agujero de reset. Se trata de un pequeño agujero que se encuentra en uno de los lados o en la parte inferior del dispositivo. Si no puede encontrar cualquier agujero de alfiler o botón de reinicio, intente buscar en el puerto de AV. Alguna cajas de Android TV  tienen un agujero oculto de reset situado Justo  en la parte inferior del puerto de AV en el fondo justo del jack de  1/2″.

  • Localizar el pin de reset en el cuadro de Android
  • Sostenga el botón reset y encender el dispositivo (sosteniendo el pin todo el tiempo)
  • El cuadro de Android ahora se iniciará en modo de recuperación
  • Haga clic en limpiar datos / Reset de fábrica (y confirmar)
  • Haga clic en reiniciar el sistema ahora
  • El cuadro de Android ahora se fijarán
Si los  dos métodos anteriores no han servido para  actualizar un Android box  resumidamente necesitara localizar la actualización de software para su dispositivo y actualizar el firmware mediante un cable usb  :una vez finalizada la actualización de Android box se completará.

Localización de  la actualización de software para su dispositivo

Necesitamos instalar Amlogic Burning tool, como herramienta de grabación USB de Amlogic, y flashear  el firmware con esta herramienta. Esta herramienta sólo funciona en un PC de Windows ( no  hay version para Ios a para Linux)

La actualización Amlogic puede  actualizar cajas TV Android que tienen firmware .img por lo que no sirve imagenes de firmware en  formato zip con 4 o 5 archivos dentro , es decir necesitamos  una imagen de actualización de archivo terminando con .img.

Afortunadamente la web de enterteiment.box  tiene recopilados casi todos los dispositivos TV Box chinos del mercado

Estos  son los enlaces  directos a los ficheros  img de  todos los modelos disponibles:

Custom Firmware para todos los otros  TV Android

 

Es decir, puede como paso previo deberemos  buscar entre todos Amlogic TV box  disponibles  el modelo exacto  y descargarlos en su pc pues sin la imagen img  no podremos volver su Android Box al estado operativo.  Para ejecutar la herramienta necesitaríamos un pc con windows 7 o superior   asi como  permisos de administrador .

En las siguientes líneas veremos como instalar una nueva imagen de firmware en su caja de TV mediante la herramienta de grabación USB de Amlogic, pero antes necesitaremos  un  cable  USB  un tanto especial pues es macho  por ambos lados ( unos 2€ en Amazon).

 

Cables To Go 81574 - Cable USB (macho/macho, 1 m), negro

Este cable nos servirá   precisamente para actualizar el firmware de dispositivo Android conectando este a nuestro ordenador

 

Instalar herramienta  Amlogic y flashear un TV box Android

Tendremos que seguir los siguientes pasos resumidamente:

  • Descargamos  la herramienta :  el último Amlogic quema herramienta aquí
  • Extraer los archivos descargados en el escritorio
  • Haga clic en InstallDriver.exe (ubicado en la carpeta WorldCup_Device)
  • Haga clic en el USB_Burning_Tool.exe
  • Cambiar el idioma a Inglés
  • Conecte un dispositivo en modo recovery al PC
  • Haga clic en importar imagen a continuación, haga clic en Inicio
  • Completa ahora que ha recuperado su dispositivo con la herramienta de grabación de Amlogic

Hay personas que tienen problemas con “Obtener clave de error” esta nueva herramienta ha sido actualizado con todas las llaves de Amlogic Mac para todos los cuadros de Amlogic. Esto solucionará cualquier mac clave error = error  u otros errores relativos a error de clave.

Veamos  con mas detalles los pasos citados anteriormente:

 

Descargar la herramienta e instalar el software

No tiene mucho que comentar pues bastará , descargar e  instalar la herramienta Amlogic:

  1. haga clic aquí para el USB de Amlogic quema herramienta.
  2. Extraer los archivos descargados en el escritorio
  3. Haga clic en InstallDriver.exe (ubicado en la carpeta WorldCup_Device)
  4. Haga clic en el USB_Burning_Tool.exe

Conexión de su Amlogic Android TV box al PC

Antes de instalar  la herramienta, asegúrese de que su caja Android TV está conectado al PC y enciende con el adaptador de la energía. El  sw grabador USB instalará a los controladores que necesita tu PC para comunicar con la caja de la TV.

Instalar  controladores para su Android TV box

Si abre la carpeta WorldCup_Device, verá el fichero InstallDriver.exe. Esto instalará a los controladores para las cajas de Amlogic TV. En primer lugar, conecte su dispositivo al PC y haga clic en el Asistente para la instalación del controlador, sus necesidades de caja de la TV para conectarse a la herramienta para saber que drivers necesita tu caja de TV.

 

USB Burning tool

Amlogic USB Burning Tool

Instalar la herramienta de grabación de Amlogic USB en su PC

Abra la carpeta “USB_Burning_Tool” haga clic en el “USB_Burning_Tool.exe” para iniciar la herramienta de grabación USB.

Una vez que se abre el Asistente de configuración haga clic en sí a todas las opciones.

Cambiar el idioma en el Amlogic quema herramienta

Haga clic en el segundo icono en la barra superior para revelar la opción para cambiar el idioma.Desde aquí justamente tenemos la opcion de Ingles  , lo cual es un alivio si no conocemos el chino mandarín.

 

Poner el dispositivo en modo recuperación y conectar a su PC

Dependiendo de su dispositivo tendrá que ponerlo en modo de recuperación, los cual es diferente en todas las cajas de TV. Algunos tienen  agujeros a y algunas tienen botones en la parte inferior del dispositivo. Una vez  localizado  junto con el botón de encendido  presione el botón reset ubicado dentro de la a / v puerto uso no metal, como un palillo de dientes

Ahora  usted necesitará conectar su caja Android TV a su PC cuando está en modo de recuperación con el fin de actualizar su firmware.

Si se hace correctamente usted tendrá un éxito de conectar como en la imagen de abajo.

Importar su imagen de firmware

Ubique su archivo .img de firmware (que descargó en el paso inicial para su modelo de tb  box ) con la pestaña archivo en la parte superior izquierda.

 

Desactive la clave de sobreescritura

Es importante que usted desmarque la casilla de clave de sobrescribir en el lado derecho de la pantalla como en la imagen de abajo

 

Iniciar actualización

Ahora estás listo para flash su Android TV box haga clic en Inicio para actualizar su firmware,y comenzará el proceso de actualización.

Detener actualización

Haga clic en detener cuando haya terminado su caja Android TV actualización.

 

 

 

 

En el siguiente video  podemos ver todos los pasos realizados  descritos anteriormente:

 

 

 

 

 

 

 

Estos son todos los enlaces usados en este proceso:

 

Mas informacion en  https://www.entertainmentbox.com/how-to-use-the-amlogic-usb-burning-tool/

Anuncios

Cómo encender las luces Hue desde Google Home sin comprar uno de los altavoces de Google


En efecto  los asistentes de voz han llegado para quedarse de modo que lo que hoy son capaces de hacer  probablemente sera superado muy rápidamente   con creces en un futuro muy cercano con nuevas posibilidades. Precisamente uno de los campos mas interesantes   dentro de  las posibilidades  que ofrece la IA   es el control  de  nuestros dispositivos   domésticos,  destacando con  voz propia el control de la iluminación eléctrica,  sencillamente porque aparte  de que esta estandarizado los tipos de luminarias,  el control  de estas es mucho mas sencillo  que el de cualquier  electrodoméstico en el que podamos pensar  (si bien  esto esta cambiando con equipos  eléctricos  cada vez mas conectados como lavadoras , equipos de aire acondicionado , calefacción , etc).

Dentro de la domótica orientada a la iluminación, destaca con voz propia el sistema Hue de Philips , pues en efecto mucho antes de que Lifx, IKEA, Sengled y el like llegaran a la escena, la compañía, que por cierto cambió su nombre de Philips Lighting a Signifity, ya estaba ofreciendo una serie de bombillas conectadas que podrían controlarse desde una aplicación en su teléfono inteligente (de hecho la primera bombilla que se encendió  fue en octubre de 2012).

A  pesar de  que esos antiguos rivales hoy en día ya ofrecen una  buena calidad, son fáciles de usar y   son alternativas genuinas, Hue sigue siendo el rey del peso pesado indiscutible en una división en constante expansión ,siendo por tanto para muchas personas,Philips Hue  el primer nombre en que piensan  al equipar sus casas inteligentes.

Sin embargo, una casa inteligente no  es tan simple como comprar  el  famoso   Philips Hue Hub   y  enroscar bombillas compatibles con el sistema  Hue , y de hecho no es necesariamente la cosa más fácil de lograr, pues existe una gran variedad de luminarias  Philips Hue para elegir, así como una plétora de accesorios y extras,   así como una gama aparentemente interminable de características y especificaciones-que puede ser muy  desalentadores para empezar,   pues ademas,  si queremos llegar aun mas lejos,  deberíamos  sincronizar  estos con  ecosistemas como Nest, Alexa, HomeKit ,  Google Assistant o últimamente Movistar Home con su famosa implementación de IA  con  “Aura”.

 

Configurar Philips Hue

Esencialmente, una configuración de Philips Hue (como en la mayoría de los otros sistemas de iluminación inteligentes) utiliza señales inalámbricas  Wi-Fi y ZigBee permitiendo  conectar hasta 50 dispositivos de iluminación inteligente  mediante una aplicación o un control remoto físico

Resumidamente   para conectar de luces inteligentes  basadas en el sitema Hue de Philips ,  solo necesitamos  conectar el Hub  a la red eléctrica  y a una toma ethernet, conectar  bombillas compatibles   y configurar todo el ecosistemas desde la app Hue  y usted será capaz de controlar su brillo, colores, el tiempo que permanecen encendidas o apagadas o   la forma en que reaccionan a otra tecnología inteligente.

De hecho, gracias a los gustos de Amazon Alexa y Google Assistant, y recientemente Movistar Home ,  es posible que incluso ya  no necesite usar  la aplicación Hue  en absoluto( excepto para la primera configuracion), pues la iluminación de su casa se controlará solo con la  voz., pero en todos los casos, no obstante ,para hacer  este control posible,  vamos a  necesitar un elemento    que haga de puente  entre la red  wifi  y red  Zigbee : el  Philips Hue Hub .

En efecto Philips Hue Hub integra el coordinador y el router Zigbee en un único dispositivo , permitiendo conectar hasta 50 bombillas Hue además de 10 accesorios para poder ampliarlo. Además  no solo este Hub admite bombillas Philips Hue  sino  otras marcas mas económicas  como Inn, Osram y hasta incluso las bombillas de Ikea

El puente de Philips Hue es pues la herramienta que permite la conexión y manejo de bombillas LED  compatibles con Zigbee  al ser  compatible con ZigBee 3,0, pero también al ser compatible con el protocolo estándar ZigBee Light Link   permite  que conectemos   bombillas que no tienen que ser necesariamente  Philips Hue  como tal, pues  hay  otros  productos y dispositivos compatibles con ZigBee Light Link que  funcionan con el puente Hue. De hecho , tal  y como ya comentamos en un post anterior , podemos usar otras  marcas como por ejemplo las  bombillas inteligentes de IKEA   o  otras  bombillas de la talla de GE y Osram

Una vez conectado el Hub  a la red eléctrica  y a una toma ethernet el Philips Hue Hub , necesitaremos instalar  la app  “Philips Hue ” disponible en Google  Play para  configurar tanto el Hub como las luminarias . Una vez  realizada esta configuración de una única vez   podremos programar y personalizar la iluminación de una  casa  permitiendo organizar fácilmente la iluminación por habitaciones,encender o apagar todas las luces de las habitaciones o cambiar el color o el brillo en todas las bombillas según su estado de ánimo o actividad  con independencia de la cantidad de la cantidad de  bombilla que hayamos instalado.

Configurar un puente Philips Hue

  • Enchufe el puente de Hue en una toma de corriente y conéctelo a su router a través del cable Ethernet.
  • Proceda una vez que las cuatro luces del puente se iluminen.
  • Vaya a Configuración > puentes de Hue > Añadir puente de Hue en la aplicación Philips Hue.
  • Siga las instrucciones de configuración.

Cconfigurar una bombilla Philips Hue

  • Primero, asegúrese de que el puente Philips Hue esté configurado.
  • Vaya a Configuración > configuración de luz > Añadir luz.
  • Pulse ‘ Buscar ‘ o agregue manualmente el número de serie que aparece en la bombilla.
  • Siga las instrucciones de configuración, desde cuyo punto puede nombrar su luz y ponerla en habitaciones.

Lo normal es que instalemos   las bombillas desde la aplicación “Philips Hue ” disponible en Google  Play  y controlemos  todas las luminarias   tanto  desde la propia aplicación  o desde un accesorio Hue, pero además ,   recientemente  se  ha implementado el control de esta mediante  la  inteligencia artificial de Movistar  (Aura)   en el famoso Movistar  Home , dispositivo que actualmente no solo permite el control de  las  luminarias conectadas al  Philips Hue Hub mediante  ordenes vocales  del tipo “ok Aura enciende las luces” o “Ok Aura apaga las luces” (así como elegir el color o la intensidad de la iluminación de forma táctil en la pantalla de tu Movistar Home), ademas    permite  tener el control  de las llamadas ( crucial para el caso de emergencias)   , buscar contenidos de Imagenio y proyectarlos en la TV, gestionar la conectividad con la voz , y un largo etcétera .

 

Movistar Home

Si tiene instaladas  las luces inteligentes (Phillips Hue) y cuenta con en el famoso Movistar  Home , en efecto podrá controlar el apagado y encendido de las luces del salón a través del comando de voz, “OK Aura, enciende las luces” u “OK Aura, apaga las luces”, así como elegir el color o la intensidad de la iluminación de forma táctil en la pantalla de su Movistar Home y todo ello  con tres sencillos pasos desde el propio Home:
  1.  Pulsando el botón del Hub de Hue , nos iremos en el Movistar Home  a Ajustes->Conectividad->Luces
  2.  Ahora una vez detectado el hub   debería aparecer  en este apartado en la pantalla de MH
  3. Lo siguiente es buscar las luces , así que nos volveremos  en el MH a Ajustes->Conectividad->Luces   y seleccionaremos las luces sobre las que actuar
 

 

Vinculación  de   Philips Hue a Google Home

Ademas  de la posibilidades comentadas  de control de la aplicación  , desde periféricos Hue o incluso desde MOVISTAR  HOME , es posible controlar las luces  con la voz desde cualquier smartphone o tableta de forma sencilla  haciendo prácticamente innecesario el desembolso  de un altavoz inteligente de Google   de paso nos ahorraremos un dinero que según  las especificaciones podría llegar hasta los 150€

Para  controlar las luces Hue desde la  app de  Google Home en primer lugar tendremos que asegurarnos que esta activada la conexión con el exterior de las luxes , por los que nos iremos en la app de Philips  Hue  a Ajustes->Controles–>Controla desde fuera de.., 

Si  no tenia activo esta opción , la app le llevara automáticamente a  la pagina de philips donde necesitara crear una cuenta para acceder al servicio ,  así como conceder los permisos necesarios para  el control externo de su sistema de iluminación , Una vez validado y terminado el proceso debería de ver   vera que esta opción  aparece como conectado

 

Configuración Google Home 

Ahora tenemos todo preparado para instalar  la aplicación Google Home ( por cierto tambien disponible para  Iphone)  , con la que  podremos configurar, gestionar y controlar un Google Home y Chromecast pero también directamente el sistema Hue de Philips  ( , además de miles de productos para casas conectadas, como luces, cámaras, termostatos y otros dispositivos, con esta a única aplicación).

Aparte de poder controlarlo por la voz ,esta aplicación tiene accesos directos para realizar las acciones más habituales, como poner música o atenuar las luces para ver una película ( todo ello se o controla  con un solo toque, para disfrutar de lo bueno sin tener que esperar).

 

Bien   lo primero  tenemos nuestro sistema configurado  desde la app de Hue , y tenemos habilitado el control desde fuera, pues lo siguiente sera instalar  la aplicación Google Home (la cual  por cierto también disponible para  Iphone)

 

Lo primero que tiene que hacer es una vez instalada es abrir la aplicación de Google Home.

En la primera instalación  nos preguntara si concedemos permisos de nuestra   ubicación  ,la cual podria ser útil para automatización del hogar

En cuanto hay concluido esta primera configuración, enseguida nos preguntara si deseamos buscar dispositivos compatibles de forma nativa  

Si no tiene un chromecast o un  Google Home no detectara nada , por lo que  enseguida vera la configuración de tu casa. Es en esta pantalla ( menú principal) donde deberá  pulsar en el botón Añadir(+)  que se en la parte superior de la pantalla, en la configuración de su casa

Ahora  una vez entre en las opciones de Añadir y gestionar, en el apartado Añadir a la casa  pulsaremos en Configurar Dispositivo que verá en primer lugar, y que sirve para vincular todo tipo de dispositivos compatibles con Google Assistant.

Una vez en esta pantalla de Configuración , pulse sobre la opción Configurar dispositivo vera dos opciones para vincular dos tipos de dispositivos: una  para dispositivos oficiales hechos para Google ( no es la nuestra ) y otra  opción de “Funciona con Google”   para dispositivos de terceros.

 

 

Seleccionando la opción de “funciona con Google” ,en  esta opción  aparece un sinfín de marcas y modelos  por lo que lo mas sencillo es buscarlo como “ph” pulsando en la lupa de la parte superior

Enseguida la aplicación de Google le llevará a la web de Philips Hue, donde va a tener que iniciar sesión con su cuenta que debió crear cuando en la aplicación Hue a través de la selección  Ajustes->Controles–>Controla desde fuera de..,.

Si no tuviese  esa cuenta de acceso a Philñips Hue desde el exterior,  primero tendrá que crearla para continuar , lo cual es aconsejable hacerlo desde la propia app de Philips en Ajustes->Controles–>Controla desde fuera de..,.. 

.

 

Una vez haya iniciado sesión, en la web se le informará de que Google está solicitando el acceso para supervisar sus bombillas, y le preguntarán si estás de acuerdo. De estar de acuerdo   puede pulsar en el botón para aceptarlo, y ya deberían aparecer toas  las luminarias que puede utilizar  desde esta  app  con la voz 

 

 

Por ejemplo puede probar a decirle “Ok Google, enciende las luces”, o “apaga las luces” o si lo desea pulsar directamente en los accesos directos  para apagar , encender o disminuir a aumentar la intensidad de forma selectiva alguna ( o todas )  las luminarias compatibles con el sistema Hue que tenga instaladas

 

 

Para terminar también puede utilizar comandos de voz mas complejos  como “pon las luces de color morado” o “baja la intensidad de las luces” o incluso dar ordenes de voz para que encienda o apague las luces a una hora  o  durante un determinado periodo ,con una cierta secuencia,etc  ..como ve las posibilidades son bastantes extensas  para poderlas en numerar desde aquí .

¿Amigo lector le parece interesante este sistema?

Como cambiar la Rom de un dispositivo Android


Gracias a las herramientas ADB y Fasbbot podemos ejecutar una serie de comandos que vamos a necesitar, y que nos permiten desinstalar las aplicaciones que no necesitamos sin tener que contar con permisos de  root en nuestro  dispositivo Android ( smartphone, tablet u incluso otros dispositivos). 

  • En efecto ADB, o lo que es lo mismo Android Debug Bridge ( Conector o puente para depuración de Android ), es un juego de herramientas incluido en el paquete SDK de Android  que consiste en una serie de programas con función tanto de cliente, como de servidor, que se comunican entre ellos . Como es sabido el uso normal del ADB se realiza desde la línea de comandos, aunque  existen numeroso interfaces gráficos para controlarlo.
  • Fastboot es una herramienta que nos proporciona Android para flashear archivos y modificar algunos factores de software. Es decir, con ella podemos abrir el bootloader y tener la posibilidad de cambiar la ROM.

Por tanto ADB Android y Fastboot son dos herramientas muy utilizadas y de obligatorio uso para desarrolladores Android asi como para aquellos usuarios que necesiten, por ejemplo, cambiar la ROM o instalar un Recovery personalizado, por ejemplo, para hacer root.

 

  

 

Estas dos herramientas funcionan en modo de comandos, desde una ventana de MS-DOS, por lo que a simple vista para muchos usuarios puede resultar confusa e incluso complicada, veamos primero como instalamos estas herramientas en nuestro ordenador  y después como podemos usarlas

 

Archivos necesarios para adb  y fastboot en Android

Para poder hacer uso de estas herramientas necesitaremos los binarios correspondientes y las dependencias, en forma de librerías .dll. La lista de estos archivos es:

  • adb.exe
  • fastboot.exe
  • AdbWinUsbApi.dll
  • AdbWinApi.dll

Tanto el adb en Android como el fastboot y las librerías suelen instalarse automáticamente junto a Android Studio y todo el SDK de Android. Como el entorno de desarrollo de Android ocupa varios gigas y estas sencillas aplicaciones apenas superan los 10 megas podemos descargarlas separadas del SDK desde múltiples sitios, por ejemplo, desde los foros de XDA.

Una vez tenemos estos archivos podemos optar por dos opciones:

  • La primera de ellas y la más sencilla y segura es guardarlos todos ellos en una misma carpeta en nuestro disco duro (por ejemplo en C:\ o en el mismo escritorio) y cuando abramos una ventana de MS-DOS situarnos mediante el comando cd en ella, para poder ejecutar las herramientas que deseemos.

  • La segunda de ellas, recomendable si hacemos uso habitual de adb y fastboot, es copiar los 4 archivos anteriores a la ruta C:\Windows\System32. De esta manera simplemente abriendo una ventana de MS-DOS, independientemente de nuestra ruta, podremos ejecutar las aplicaciones escribiendo adb o fastboot.

 

Para que querido lector se haga una idea ,una vez instalada la utilidad adb  la ejecución desde  linea de comandos desde un equipo con windows 10 del comando adb  sin parámetros , se ve así:

Microsoft Windows [Versión 10.0.17134.590]
(c) 2018 Microsoft Corporation. Todos los derechos reservados.

C:>adb
Android Debug Bridge version 1.0.31

-a – directs adb to listen on all interfaces for a connection
-d – directs command to the only connected USB device
returns an error if more than one USB device is present.
-e – directs command to the only running emulator.
returns an error if more than one emulator is running.
-s – directs command to the device or emulator with the given
serial number or qualifier. Overrides ANDROID_SERIAL
environment variable.
-p – simple product name like ‘sooner’, or
a relative/absolute path to a product
out directory like ‘out/target/product/sooner’.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
-H – Name of adb server host (default: localhost)
-P – Port of adb server (default: 5037)
devices [-l] – list all connected devices
(‘-l’ will also list device qualifiers)
connect [:] – connect to a device via TCP/IP
Port 5555 is used by default if no port number is specified.
disconnect [[:]] – disconnect from a TCP/IP device.
Port 5555 is used by default if no port number is specified.
Using this command with no additional arguments
will disconnect from all connected TCP/IP devices.

device commands:
adb push – copy file/dir to device
adb pull [] – copy file/dir from device
adb sync [ ] – copy host->device only if changed
(-l means list but don’t copy)
(see ‘adb help all’)
adb shell – run remote shell interactively
adb shell – run remote shell command
adb emu – run emulator console command
adb logcat [ ] – View device log
adb forward –list – list all forward socket connections.
the format is a list of lines with the following format:
” ” ” ” “\n”
adb forward – forward socket connections
forward specs are one of:
tcp:
localabstract:
localreserved:
localfilesystem:
dev:
jdwp: (remote only)
adb forward –no-rebind
– same as ‘adb forward ‘ but fails
if is already forwarded
adb forward –remove – remove a specific forward socket connection
adb forward –remove-all – remove all forward socket connections
adb jdwp – list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] [–algo –key –iv ]
– push this package file to the device and install it
(‘-l’ means forward-lock the app)
(‘-r’ means reinstall the app, keeping its data)
(‘-s’ means install on SD card instead of internal storage)
(‘–algo’, ‘–key’, and ‘–iv’ mean the file is encrypted already)
adb uninstall [-k] – remove this app package from the device
(‘-k’ means keep the data and cache directories)
adb bugreport – return all information from the device
that should be included in a bug report.

adb backup [-f ] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|-nosystem] []
– write an archive of the device’s data to .
If no -f option is supplied then the data is written
to “backup.ab” in the current directory.
(-apk|-noapk enable/disable backup of the .apks themselves
in the archive; the default is noapk.)
(-obb|-noobb enable/disable backup of any installed apk expansion
(aka .obb) files associated with each application; the default
is noobb.)
(-shared|-noshared enable/disable backup of the device’s
shared storage / SD card contents; the default is noshared.)
(-all means to back up all installed applications)
(-system|-nosystem toggles whether -all automatically includes
system applications; the default is to include system apps)
( is the list of applications to be backed up. If
the -all or -shared flags are passed, then the package
list is optional. Applications explicitly given on the
command line will be included even if -nosystem would
ordinarily cause them to be omitted.)

adb restore – restore device contents from the backup archive

adb help – show this help message
adb version – show version num

scripting:
adb wait-for-device – block until device is online
adb start-server – ensure that there is a server running
adb kill-server – kill the server if it is running
adb get-state – prints: offline | bootloader | device
adb get-serialno – prints:
adb get-devpath – prints:
adb status-window – continuously print device status for a specified device
adb remount – remounts the /system partition on the device read-write
adb reboot [bootloader|recovery] – reboots the device, optionally into the bootloader or recovery program
adb reboot-bootloader – reboots the device into the bootloader
adb root – restarts the adbd daemon with root permissions
adb usb – restarts the adbd daemon listening on USB
adb tcpip – restarts the adbd daemon listening on TCP on the specified port
networking:
adb ppp [parameters] – Run PPP over USB.
Note: you should not automatically start a PPP connection.
refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1

[parameters]

– Eg. defaultroute debug dump local notty usepeerdns

adb sync notes: adb sync [ ]
can be interpreted in several ways:

    • If is not specified, both /system and /data partitions will be updated.
    • If it is “system” or “data”, only the corresponding partition
      is updated.

environmental variables:
ADB_TRACE – Print debug information. A comma separated list of the following values
1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
ANDROID_SERIAL – The serial number to connect to. -s takes priority over this if given.
ANDROID_LOG_TAGS – When used with the logcat option, only these debug tags are printed.

C:>

Como  se puede apreciar en las lineas anteriores , existe infinidad de opciones para esta versatil  utilidad , pero no se preocupe porque vamos a recopilar los principales comandos más utilizados para realizar tareas básicas de configuración avanzada de sistemas Android.

 

Comandos básicos de ADB

adb devices

Este comando nos muestra en pantalla la lista de dispositivos conectados en modo adb a nuestro ordenador. Es el primer comando que debemos ejecutar ya que si nuestro smartphone aparece es que la comunicación es correcta y los drivers son los adecuados.

adb push  <ruta>

Con este comando enviamos un archivo a nuestro dispositivo. Es muy práctico cuando las funciones de almacenamiento masivo no funcionan correctamente. Debemos especificar la ruta donde se guardará el archivo enviado.

adb pull

Justo el comando inverso. Nos permite copiar un archivo desde nuestro smartphone al ordenador.

adb install <aplicación.apk></aplicación.apk>

Este comando nos permite instalar aplicaciones en formato apk en nuestro dispositivo.

adb uninstall <aplicación.apk></aplicación.apk>

Nos permite desinstalar una aplicación, al contrario que el comando anterior.

adb shell

Nos carga un terminal que nos permite controlar nuestro dispositivo en modo texto. Es una opción para usuarios avanzados, pero muy práctica, por ejemplo, si tenemos problemas con los permisos.

adb reboot

Este comando reinicia nuestro dispositivo en modo normal, para cargar Android (o el sistema operativo instalado) automáticamente.

adb reboot-bootloader / reboot recovery

Con estos comandos podemos reiniciar el teléfono en el modo bootloader o en el modo recovery, según lo que necesitemos en cada momento.

Comandos básicos de Fastboot

Los comandos de fastboot sólo funcionan cuando nuestro dispositivo está en modo bootloader, por lo que si tenemos el dispositivo en modo adb estos comandos no funcionarán.

Siempre podemos utilizar el comando adb reboot-bootloader para que el dispositivo se reinicie automáticamente en el modo compatible con Fastboot.

fastboot devices

Su función es la misma que la de adb devices, es decir, comprobar que el dispositivo está correctamente conectado al ordenador y es detectado por esta herramienta.

fastboot oem unlock

Este comando es utilizado por muchos fabricantes como Sony o Google en sus dispositivos para liberar el bootloader y poder, por ejemplo, instalar un recovery o hacer root.

Este comando nos mostrará una serie de pasos (entre los que nos pedirá la clave secreta de desbloqueo) para proceder con la tarea.

fastboot flash

Este comando nos permite flashear cualquier archivo .img descargado para nuestro dispositivo.

4 sencillos ejemplos de flash más comunes son:

  • fastboot flash recovery recovery.img -> Flashea e instala el recovery en nuestro dispositivo.
  • fastboot flash boot boot.img -> Cambia el sistema de arranque (boot) de nuestro dispositivo, necesario para poder cargar el recovery en muchos casos.
  • fastboot flash radio radio.img -> Instala los nuevos controladores de radio.
  • fastboot flash system system.img -> Instala un nuevo sistema completo.

fastboot flashall

Este comando nos permite flashear automáticamente todos los archivos .img que tengamos descargados y copiados en la ruta de adb y fastboot. Muy útil cuando hay que flashear varios archivos en un dispositivo, por ejemplo, cuando ha quedado en modo soft brick.

fastboot boot <imagen>

Esta función nos permite cargar “en modo live” una imagen del sistema operativo para probarla sin necesidad de escribir los datos en la memoria interna. La suelen utilizar los desarrolladores para probar un nuevo kernel o recovery, aunque de cara al usuario la utilidad práctica está algo reducida.

Cómo borrar cualquier aplicación en Android sin root


El proceso de rooteo de un terminal   destinado  a conceder permisos de super-usuario al usuario con el que se accede a  Androud esta destinado a usuarios un poco más avanzados y que saben lo que hacen, porque con una modificación del sistema incorrecta podemos dejar nuestro sistema corrupto pero en efecto una vez que tengamos acceso a root podemos suprimir aquellas aplicaciones que el fabricante haya pre-instalado    así como incluso algunas  propias de aplicaciones de Android   que vengan incluidas con el sistema operativo  y que no necesitamos ( por ejemplo  salvapantallas , animaciones , clientes de correo, etc. )  , lo cual   en muchos  casos nos permitirá  rebajar en gran medida  no  solo  la tasa de ocupación de la memoria interna    sino  también el numero de procesos que tenemos corriendo en nuestro terminal contribuyendo así a mejorar el rendimiento del terminal

Sin embargo como ya adelantábamos, no todo es perfecto al tener privilegios de root   , sobre todo cuando se desconocen los riesgos, pues llegar a este punto  también tiene sus inconvenientes :

  1. Se pierde la garantía: es decir ,realizando el proceso de root en el terminal e instalando las aplicaciones necesarias, se anula la garantía del fabricante ( a no ser  que el fabricante lo comercialice ya rooteado ) . Afortunadamente  no obstante el proceso de rooteo en casi todos los terminales es revertible.  

  2. Se pierden las actualizaciones vía OTA: Al hacer root estamos modificando el sistema, por lo que en los pasos previos a una actualización OTA se detectará que el sistema ha sido modificado, inhabilitando el servicio de actualización oficial. En algunos casos podrá llevar a cabo la actualización, pero lo más probable es que se elimine el root del terminal.

  3. Disminuye la seguridad del sistema: El fin principal de hacer root a un terminal es poder dar permisos de super-usuario ( es decir sin restricciones  )  a determinadas aplicaciones para que realicen cambios en el sistema lo cual puede generar bastantes problemas  cuando desde las propias aplicaciones se tiene acceso a todo el sistema de ficheros  y proceso en cursos sin limitaciones .

  4. Puede crear conflicto con algunas aplicaciones: Como cualquier modificación de software, este proceso puede entrar en conflicto con otras aplicaciones. 

  5. Inestabilidad del sistema: Aunque por norma general este proceso se realiza para mejorar el sistema, si no sabemos bien lo que hacemos podemos provocar mucha inestabilidad en el sistema, haciendo que este disminuya su rendimiento o aumente su uso de batería. Por ejemplo, si no prestamos atención al dar permisos podemos dotar de privilegios a una aplicación para que consulte nuestra ubicación constantemente, cualquier aplicación del tiempo por ejemplo, con lo que esto aumentará el uso de batería y disminuirá el rendimiento al tener constantemente un proceso realizando operaciones en nuestro sistema.

Vemos que rootear un terminal tiene  sus peligros , pero ¿y  si pudiésemos  tener las ventajas del rooteo   pero sin disminuir la seguridad,ni perder la garantía ni las actualizaciones?  Pues en efecto se puede  como a vamos a ver a  continuación  

 

Una de las utilidades  mas interesantes del rooteo es desinstalar aplicaciones que no podemos  quitar desde el propio dessistalador al estar incluidas enla rom del so  bien porque se han incluido por el propio fabricante o bien porque vengan incluidas en el propio SO

Para desistalar estas aplicaciones “especiales ” vamos a necesitar la aplicación App Inspector, disponible gratis en la Google Play Store. Esta app sirve para inspeccionar las propiedades detalladas de todas las aplicaciones instaladas en su dispositivo. Estas propiedades están disponibles desde  PackageManager interno de Android, por lo general muchas de ellas no están expuestas por la interfaz de usuario por defecto del sistema (como el código de la versión, Target SDK versión, etc)  de modo que esta app es util  no solo para los desarrolladores   sino para  usuarios curiosos por igual.

 

Captura de pantalla

 

Al abrirla, entonces podremos ver el nombre de ‘paquete’ de cualquiera de las aplicaciones que estén instaladas en nuestro teléfono inteligente. Es decir, que lo que deberíamos hacer con ella es identificar cuál es el ‘nombre interno’ de la app pre-instalada de la que nos queremos deshacer. Y a partir de aquí podremos continuar.

Captura de pantalla

Esta interesante aplicación   incluso no  da acceso a información del bloatware preinstalado, para que sin necesidad de tener el móvil rooteado podemos  desinstalarlo   ,como vamos a  ver a continuación mediante la utilidad  adb

Si sólo necesita el ADB no hay necesidad de instalar el SDK completo pues es posible  instalar una versión versión mínima de dicha herramienta.

El  ADB es básicamente un software o programa de PC a través del cual se puede darle órdenes especiales al móvil, usando comandos de texto. Estos comandos incluyen órdenes básicas que se usan en el sistema Linux (copiar, pegar, mover, son algunos ejemplos) así como una variedad de comandos específicos para desarrolladores.

Los comandos ADB se pueden mandar al teléfono cuando el mismo está encendido/arrancado, y también cuando se encuentra en modo recovery. La herramienta ADB se puede utilizar para enviar comandos hacia dispositivos con y sin root.

Si tiene instalado Android Studio , este se instala por defecto  junto con el resto del software , pero  tendremos después que invocarlo o donde hayamos almacenado los archivos binarios de ADB, para lo cual pulsaremos Shift y clic derecho en la carpeta correspondiente, para que la consola de comandos se abra exactamente ahí.

Si no tiene el adb instalado , siga estos pasos:

  • Descargue la ultima versión disponible(en este momento la 1.4.3)   para 32 y 64 bits para Windows en el foro  de xda-developes http://forum.xda-developers.com/showthread.php?t=2317790.
  • Ejecute el instalador haciendo doble clic en  minimal_adb_fastboot_v1.4.3_setup.exe
  • Instale normalmente siguiendo las instrucciones.
  • Se instalara: en C:\Program Files (x86)\Minimal ADB and Fastboot
  • Al finalizar se abrirá la ventana a través de la cual podrás enviar los comandos a tu móvil.

 

Ahora tendremos que abrir nuestro ordenador, y con el móvil conectado por el cable USB, abriremos Símbolo del sistema mediante el comando  cmd

 Hecho esto, tendremos que irnos  a  la ruta  C:\Program Files (x86)\Minimal ADB and Fastboot     e   introducir el  comando :

  • adb shell pm disable-user –user 0  <package_to_disable>
  • package_to_disable>  : indica  el nombre de paquete de la aplicación que queremos eliminar de nuestro dispositivo  y que hemos conseguido con la aplicación App Inspector )

En el  siguinte ejemplo  con el citado comadno vamos a desactivar el instalador de facebook :

Ahroa en el caso de que quisiéramos recuperar unlistado de las aplicaciones que hemos deshabilitado siguiendo este método, entonces tendríamos que ejecutar el siguiente comando:

  • adb shell pm list packages -d

Con este  comando  se mostrarán las aplicaciones que han sido deshabilitadas , dpnde como vemos  donde ya se ha incluido el instalador de la app de facebook que desactivamos con el comando del ejemplo anterior:

Para habilitar  una app , el comando que tendríamos que ejecutar es el siguiente, sustituyendo , de nuevo, por el nombre de paquete que corresponda

  • adb shell pm enable

Algunos ejemplos  de  app que se pueden desinstalar o congelar sin peligro:

  • Calculadora: No es necesaria, aunque tal vez si la borra  nos convenga en otro momento  instalar otra  alternativa.
  • Calendario: Igual que la calculadora, esta aplicación no afectará al funcionamiento de tu smartphone.
  • Cámara: La aplicación de Cámara no supondría ningún problema para su terminal para  ser desinstalada, pero   personalmente nunca la eliminaria  puesto que si desistalamos no podremos acceder a la cámara.
  • Correo: Si no le interesa el cliente de correo nativo de Android siempre podemos desinstalarlo y con ello liberarnos memoria interna, Sobre todo tiene sentido cuando usamos otros gestores de correo como gmail o el propio outlook  para este cometido.
  • Fondos Animados: Esta es una de las funciones que, personalmente, veo más inútiles. Mediante estos desinstaladores podremos borrar los fondos animados, aunque no vienen todos en un pack. Algunos de estos fondos son: Burbujas, Agujero Negro, Humo Mágico o Phase Beam. Dependiendo del dispositivo y del fabricante  incluso puede haber muchos más.
  • Galería: si utilizá alguna alternativa, como Quickpic, tal vez no necesita la galería por defecto (o la que os haya instalado el fabricante).
  • Gmail: Por la misma razón  que exponíamos anteriormente con el cliente de correo nativo , si no le interesa el cliente de correo de Google puede desinstalarlo sin problemas.
  • Google+: Esta red social de Google cada  vez tiene menos adeptos desde que Google decidió dejarla  solo para  clientes empresariales.     Sin duda , si no es un lciemte empresarial , lo mejor  es desinstalarla.
  • Google Chrome: Si sois usuarios de otros navegadores, tal vez no queráis tener en vuestro smartphone el navegador de Google.
  • Google Maps: Se puede borrar sin que tenga ningún efecto en el rendimiento del terminal.La aplicación de mapas de Google  está rastreando la ubicación todo el tiempo, para lanzar notificaciones cuando se acerca a un sitio u otro  por lo que su so en primer plano consume muchísima batería, y en segundo plano, si tiene el GPS activado, también
  • Google Play: Google Play y sus diversas aplicaciones (Music, Libros, Kiosco, Películas y Games) se pueden desinstalar sin efectos graves, aunque siempre es recomendable tener una tienda alternativa.
  • StreetView: Si hemos borrado Google Maps esta app no nos servirá para nada puesto que es complementaria.
  • YouTube: La aplicación de YouTube no afecta en nada al sistema.
  • Google Calendar: La aplicación de calendario de Google no deja de sincronizar en segundo plano, y además sabe perfectamente qué estás haciendo, cuándo y dónde lo estás haciendo. La única forma de limitarlo es o bien desactivando la sincronización automática o deshabilitándola / desinstalándola.
  • Google Now:La aplicación de Google es el asistente virtual que, hasta que llegue Google Assistant, hay instalado en todos los terminales. Dicha app no deja de actualizarse en segundo plano, obteniendo información del tráfico, del tiempo, noticias, información de interés… Eso consume muchísima batería sin que nos demos cuenta. Si no usas el desbloqueo por voz o no eres demasiado fan de Google Now, no pierdes nada por desinstalarla de tu terminal.
  • Google Photos:Aunque es una de las apps más útiles que nos podemos encontrar en el panorama Android, la aplicación de sincronización en la nube y galería de Google consume muchísima batería. Cada vez que hacemos una foto o un vídeo y estamos conectados a una red WiFi, Google Fotos se pone a sincronizar en segundo plano y a subir todos los nuevos archivos a la nube. Si no la tenemos bien configurada, puede llegar a consumir mucha batería. Sobre todo , si no se hace uso de su servicio, lo mejor es deshabilitarla o desistalarala

Como activar almacenamiento ilimitado con movistar Cloud


En efecto todas  aquellas personas que  tengan contratada  MOVISTAR  Fusión y tarifa de contrato 20 Plus  pueden disfrutar desde  hace unos meses sin coste adicional de  almacenamiento ilimitado en la nube de Movistar Cloud . En caso de no cumplir esas condiciones   la tarifa es  mas que razonable  ( 3€/mes) . Esta nueva nube es perfecta para guardar  fotos, vídeos,  música así como todos tus documentos en un  espacio ilimitado  sin peligro de perder la información y  lo que mas importante con criterios muy fuertes de seguridad    como por ejemplo implementando el método de mobile connect para  las  validaciones de usuarios   .

Movistar no puede acceder a los datos almacenados y por tanto no puede hacer ningún uso de ellos. En una empresa española como Telefónica  que ademas dispne de centros de datos en suelo nacional  , es crucial garantizar la privacidad y  seguridad son  muy importantes,   por los que los contenidos que subamos  a la nube de Movsitar  , se suben a la nube con un alto nivel de encriptación y libres de virus.

La capacidad de almacenamiento ilimitado se suscribe bajo un modelo de suscripción mensual, el cual se renueva automáticamente mes a mes. Como comentábamos dependiendo del tipo de contrato que se  tenga con Movistar podrá optar al servicio de manera gratuita o pagando una cuota por mes natural.Estas son todas las casuisticas contempladas;

  •  Si el  contrato es Fusión o Contrato 20 Plus, tanto si es una línea adicional o no, puedes acceder sin ningún coste adicional a Movistar Cloud Ilimitado
  •  Si su tarifa de móvil es Contrato 2, Contrato 5 o Contrato 5 Plus puedes contratar Movistar Cloud Ilimitado con un coste adicional de 3€/mes por cada línea móvil con el que lo contrates.
  • Si su tarifa es diferente a las descritas anteriormente puedes contratar Movistar Cloud Ilimitado por 3€/mes por cada línea móvil con el que lo contrates, salvo con las tarifas #15 y #25 que también es gratuito.
  •  Si tu tarifa es de Prepago no podrá disfrutar de Movistar Cloud.

Y estos son los requisitos e incompatibilidades:

  • Tener una línea móvil con Movistar, aunque solo podrá disfrutar de una cuenta de Movistar Cloud por cada línea móvil que tenga.Pueden disfrutar de Movistar Cloud todas las líneas de su Fusión o tarifas.
  • Que la línea móvil  sea de contrato, no de tarjeta.
  • Si tiene un contrato Fusión podrá acceder a tantas cuentas de Movistar Cloud como líneas tenga.
  • Movistar Cloud es compatible con tu Movistar Dual siempre que una de las dos líneas de tu Dual corresponda a un contrato Movistar que no sea de empresa.
  • No hay compromisos de permanencia de  modo que se puede  solicitar la baja cuando desees, sin penalización en tu factura .!Ojo! , una vez se ejecute la baja se disponen de 20 días para descarga todos los contenidos desde la aplicación web en https://micloud.movistar.es.. Después sí, los contenidos se perderán definitivamente. )

Si se cumplen estos requisitos se  puede tener gracias   al cloud de Movistar almacenamiento ilimitado ( donde puede guardar sus contenidos en la nube y acceder a ellos desde cualquier dispositivo en cualquier lugar)  con un interfaz  fácil e intuitivo ( ya que cuenta con aplicación para móvil, tablet y ordenador además de una página web) que ademas permite enviar  y compartir compartir fotos, vídeos o documentos por email, whatsapp o redes sociales   sirviendo ademas para visualiza sus fotos y vídeos   de las cuentas de Facebook o Instagram,  archivos de Dropbox o incluso archivos anexados a sus emails de Gmail de manera inmediata.

En el siguiente vídeo podemos ver  un poco el funcionamiento de Movistar Cloud;

 

 

 

Es interesante destacar que sí, cambias de numeración mantiene su cuenta de Movistar Cloud con todos los contenidos que tenga allí guardados, pero cambiará su usuario, ya no será ¡su antiguo número de teléfono, si no el nuevo. Asimismo si cambias de operador perderá Movistar Cloud, (aunque se disponen de s 20 días de cortesía para descargar contenidos desde la web https://micloud.movistar.es) .

 

 

Paso a paso :

Veamos  los pasos para configurar nuestra cuenta de Movistar Cloud suponiendo que cumplamos todos los requisitos anteriormente comentados

  1. Accedemos  al web de movistar cloud https://micloud.movistar.es/
  2. Pinchamos en Iniciar Sesión
  3. Ahora  introducimos el numero móvil    asociado al contrato fusión                                                                       
  4. Muy importante  : introducir en el apartado anterior  el numero móvil :  no el numero  fijo )
  5. Ahora  en el móvil aceptaremos la conexión con mobile connect                                                     
  6. Recibiremos un SMS de confirmación                                                                                                                                                                                                                                    
  7. Ahora desde la pagina donde accedimos  nos pedirán un e-mail  que nos servirá para el login  de acceso
  8. !Ya esta activado! así que nos volveremos a ir a la pagina https://micloud.movistar.es/
  9. Tendremos   móvil cerca para permitir el acceso mediante Mobile connect
  10. Introduciremos nuestro  numero móvil, permitiremos el acceso desde Mobile Connect   y ya podremos disfrutar  del servicio desde  un navegador

Los requisitos del ordenador son Windows 7 o superior para pc’s  o Mac OS IX o superior y  en cuanto a navegadores Mozilla Firefox v25 o posterior, Google Chrome v31 o posterior, o Internet Explorer v9 o posterior. También se puede instalar la aplicación Movistar Cloud en el  ordenador.  Podrá acceder a ella desde la barra de tareas si su ordenador es un PC o desde el Dock si su ordenador es un Mac.

Acceso vía Movil

Lo mismo que hemos visto como se puede acceder a Movistar Cloud desde un  ordenador también se puede desde un smartphone o tablet con sistema operativo Android (4.x y superior), iOS (6.x, 7.x, 8.x y superior).

Para disfrutar de Movistar Cloud en un smartphone y/o tablet, tenemos que descargar la aplicación de Movistar Cloud a través de la app store correspondiente:

El aspecto  del interfaz , como vemos mas abajo,  es muy simular al ofrecido por la web  pero cómo extra ofrece  una  facilidad  genial para  permitirnos hacer un backup de todo el contenido del móvil sobre la nube ( cuando haya conexión wifi)   de modo que nunca vayamos a  perder nuestros preciados datos

 

Por cierto , ponen un email de contacto para posibles problemas :[email protected], ( hay que indicar nombre y apellidos titular, NIF, nº de línea móvil, modelo dispositivo, versión de sistema operativo y un breve resumen de lo que ocurre).

Shell scripting :funciones ,subshells y variables de entorno


Bash , c-shell  o simplemente shell scripting es  un lenguaje de script  creado a fines de la década de 1980 por un programador llamado Brian Fox, que trabajaba para la Free Software Foundation . Fue pensado como una alternativa de software libre para el shell Bourne (de hecho, su nombre es un acrónimo de Bourne Again SHell ), e incorpora todas las características de ese shell, así como nuevas características como la aritmética de enteros y el control de trabajo

Bash es un “shell de Unix”, es decir  una interfaz de línea de comandos para interactuar con el sistema operativo por lo que está ampliamente disponible, siendo el shell predeterminado en muchas distribuciones de GNU / Linux y en Mac OSX, con puertos existentes para muchos otros sistemas.

En post anteriores hemos hablado en una primera aproximación  al lenguaje c-sheall  con el primer ejemplo famoso de  Hello world y avanzando comandos ,tuberías ,variables ,parámetros y salidas posibles y en un segundo post  sobre el  uso de las Tuberías , sustitución de comandos,operadores ,asignación de variables ,Bucles , literales , variables   y aritmética no entera

En este  post  vamos  a continuar  avanzando en el conocimiento de este lenguaje con el uso de las funciones, subshells  y las  variables de entorno

close up code coding computer

 

 

 

Funciones de shell 

Una función de shell es un tipo especial de variable que es esencialmente un script dentro de otro script. Gracias a estas funciones c-shell  nos permite agrupar una secuencia de comandos en un solo comando con nombre, lo cual es particularmente útil si la secuencia de comandos necesita ejecutarse desde muchos lugares dentro del script  .

Como una función de shell puede incluso consistir en un solo comando; esto puede ser útil si el comando es particularmente complicado, o si su significado no sería inmediatamente obvio para un lector,es  decir, las funciones de shell pueden servir para dos propósitos:

  • pueden guardar la escritura
  • Pueden permitir un código más legible mediante la creación de comandos con nombres intuitivos

Como ejemplo considere la siguiente secuencia de comandos:

#! / bin / bash
# Uso: get_password VARNAME 
# Le pide al usuario una contraseña y lo guarda como $ VARNAME. 
# Devuelve un estado de salida distinto de cero si la entrada estándar no es un terminal, o si el 
comando # "leer" devuelve un estado de salida distinto de cero. 
get_password ()  { 
  si  [[ -t 0  ]]  ;  then
    read -r -p 'Contraseña:' -s "  $ 1  "  &&  echo 
  else 
    return  1
   fi
 }

get_password PASSWORD &&  echo  "  $ PASSWORD  "

El script anterior crea una función de shell llamada get_password que le pide al usuario que escriba una contraseña y almacena el resultado en una variable específica. Luego ejecuta get_password PASSWORD para almacenar la contraseña como $ PASSWORD ; y por último, si la llamada a get_password tuvo éxito (según lo determinado por su estado de salida), la contraseña recuperada se imprime en la salida estándar (que obviamente no es un uso realista pues  el objetivo aquí es simplemente demostrar el comportamiento de get_password ).

La función get_password no hace nada que no se pueda hacer sin una función de shell, pero el resultado es mucho más legible. La función invoca la lectura de comando incorporada (que lee una línea de entrada del usuario y la guarda en una o más variables) con varias opciones con las que la mayoría de los programadores de Bash no estarán familiarizados:

  • La opción -r desactiva un significado especial para el carácter de barra diagonal inversa;
  • la opción -p hace que aparezca un mensaje específico, en este caso Contraseña:, al principio de la línea;
  • la opción -s evita que se muestre la contraseña a medida que el usuario lo escribe. Desde la -s la opción también evita que se muestre la nueva línea del usuario,

El comando echo proporciona una nueva línea y además, la función usa la expresión condicional -t 0 para asegurarse de que la entrada del script proviene de un terminal (una consola) y no de una archivo o de otro programa que no sabría que se está solicitando una contraseña. (Esta última característica es discutible; dependiendo de la funcionalidad general del script,pues  puede ser mejor aceptar una contraseña de entrada estándar independientemente de su origen, suponiendo que la fuente se diseñó teniendo en cuenta el script). El punto general es que darle un nombre a la secuencia de comandos – get_password – hace que sea mucho más fácil para un programador saber qué hace.

Dentro de una función de shell, los parámetros posicionales$ 1 , $ 2 , etc., así como $ @ , $ * y $ # ) se refieren a los argumentos con los que se llamó a la función, no a los argumentos del script que contiene la función. Si se necesitan estos últimos, entonces deben pasarse explícitamente a la función, usando "$ @" . (incluso entonces, shift y set solo afectarán a los parámetros posicionales dentro de la función, no a los de la persona que llama).

Una llamada de función devuelve un estado de salida, al igual que un script (o casi cualquier comando). Para especificar explícitamente un estado de salida, use el comando return , que finaliza la llamada a la función y devuelve el estado de salida especificado. (El comando de salida no se puede usar para esto, ya que terminaría la secuencia de comandos completa, como si se llamara desde fuera de una función). Si no se especifica ningún estado de salida, ya sea porque no se da ningún argumento al comando de devolución o porque se llega al final de la función sin haber ejecutado un comando de retorno , a función devolverá el estado de salida del último comando que se ejecutó.

Incidentalmente, cualquiera de las funciones o () pueden omitirse de una declaración de función, pero al menos una debe estar presente. En lugar de , muchos programadores escriben  de manera similar, la notación {...} que no es exactamente necesaria y no es específica de las funciones; es simplemente una notación para agrupar una secuencia de comandos en un solo comando compuesto.

El cuerpo de una función debe ser un comando compuesto, como un bloque {…} o una instrucción if ; {…} Es la opción convencional, incluso cuando todo lo que contiene es un comando compuesto único y, por lo tanto, teóricamente podría prescindirse de él.function get_password ( )get_password ()

Subshells 

En Bash, uno o más comandos se pueden envolver entre paréntesis, lo que hace que esos comandos se ejecuten en una “subshell”(también hay algunas formas en que se pueden crear subshells implícitamente) Un subshell recibe una copia del “entorno de ejecución” del contexto circundante, que incluye cualquier variable, entre otras cosas; pero cualquier cambio que haga a subshell al entorno de ejecución no se vuelve a copiar cuando se completa la subshell.

Así, por ejemplo, este script: #! / bin / bash

foo  = barra
 echo  "  $ foo  "  # imprime 'barra'

# subshell:
 (
  echo  "  $ foo  "  # imprime 'barra' - la subshell hereda las variables de sus padres 
  baz  = bip
   echo  "  $ baz  "  # imprime 'bip' - la subshell puede crear sus propias variables 
  foo  = foo
   echo  "  $ foo  "  # imprime ' foo '- la subshell puede modificar variables heredadas
 )

echo  "  $ baz  "  # no imprime nada (solo una nueva línea) - se pierden las nuevas variables de la subshell 
echo  "  $ foo  "  # imprime 'barra' - los cambios de la subshell a las variables antiguas se pierden

La ejecución imprimirá esta salida:

bar

bar

bip

foo

bar

Si necesitase llamar a una función que modifica una o más variables, pero en realidad no desea que esas variables se modifiquen, puede ajustar la llamada a la función entre paréntesis, para que tenga lugar en una subshell. Esto “aislará” las modificaciones y evitará que afecten el entorno de ejecución circundante.Dicho esto: cuando sea posible, es mejor escribir funciones de tal manera que este problema no se presente para comenzar, pues la palabra clave local puede ayudar con esto.

Lo mismo ocurre con las definiciones de funciones; al igual que una variable regular, una función definida dentro de una subshell no es visible fuera de la subshell.

Una subshell también delimita los cambios a otros aspectos del entorno de ejecución; en particular, el comando cd (“cambiar directorio”) solo afecta a la subshell. Así, por ejemplo, este script:

  #! / bin / bash

cd /
 pwd  # imprime '/'

# subshell:
 (
  pwd  # prints '/' - la subshell hereda el directorio de trabajo 
  cd home
   pwd  # prints '/ home' - la subshell puede cambiar el directorio de trabajo 
)  # end of subshell

pwd  # prints '/': los cambios de la subshell en el directorio de trabajo se pierden

imprime esto:

/ / /casa /

Si su script necesita cambiar el directorio de trabajo antes de ejecutar un comando dado, es una buena idea usar una subshell si es posible,. de lo contrario, puede resultar difícil hacer un seguimiento del directorio de trabajo al leer un script. Alternativamente, los comandos incorporados pushd y popd se pueden usar para un efecto similar.

 

Una declaración de salida dentro de una subshell termina solo esa subshell. Por ejemplo, este script:

  #! / bin / bash
(  exit  0  )  &&  echo  'subshell successed' 
(  exit 1  )  ||  echo  'subshell failed'

imprime esto:

 subshell tuvo éxito
subshell falló

Al igual que en una secuencia de comandos en su conjunto, exit de los valores predeterminados  devuelve el estado de salida del comando de última ejecución, y una subshell que no tiene una instrucción de salida explícita devolverá el estado de salida del comando de última ejecución.

Variables de entorno

Ya hemos visto que, cuando se llama a un programa, recibe una lista de argumentos que se enumeran explícitamente en la línea de comandos. Lo que no hemos mencionado es que también recibe una lista de pares nombre-valor denominados “variables de entorno”.

Diferentes lenguajes de programación ofrecen diferentes formas para que un programa acceda a una variable de entorno; Los programas C pueden usar getenv (" variable_name ") (y / o aceptarlos como un tercer argumento para main ), los programas Perl pueden usar $ ENV {' variable_name '} , los programas Java pueden usar System.getenv (). Get (" variable_name ") , y así sucesivamente.

En Bash, las variables de entorno se convierten simplemente en variables regulares de Bash. Así, por ejemplo, la siguiente secuencia de comandos imprime el valor de la variable de entorno HOME :

#! / bin / bash
echo  "  $ HOME  "

Sin embargo, lo contrario no es cierto: las variables regulares de Bash no se convierten automáticamente en variables de entorno. Así, por ejemplo, este script:

#! / bin / bash
foo  = bar
bash -c 'echo $ foo'

Esto no imprimirá la barra , porque la variable foo no se pasa al comando bash como una variable de entorno. ( De bash -c scripts argumentos ... corre el Bash script de una línea de la escritura ).

Para convertir una variable Bash normal en una variable de entorno, tenemos que “exportarla” al entorno. La siguiente secuencia de comandos hace la impresión de barras :

#! / bin / bash
export  foo  = bar
bash -c 'echo $ foo'

Tenga en cuenta que la exportación no solo crea una variable de entorno; en realidad marca la variable Bash como una variable exportada, y las asignaciones posteriores a la variable Bash también afectarán a la variable de entorno. Ese efecto es ilustrado por este script:

#! / bin / bash
foo  = bar
bash -c 'echo $ foo'  # no imprime nada 
export foo
bash -c 'echo $ foo'  # imprime 'bar' 
foo  = baz
bash -c 'echo $ foo'  # imprime 'baz'

El comando de exportación también se puede usar para eliminar una variable de un entorno, incluyendo la opción -n ; por ejemplo, export -n foodeshace el efecto de export foo. Y múltiples variables pueden ser exportadas o no exportadas en un solo comando, como export foo barexport -n foo bar.

Es importante tener en cuenta que las variables de entorno solo se pasan a un comando; nunca se reciben de vuelta de un comando. En este sentido, son similares a las variables y subshells regulares de Bash. Así, por ejemplo, este comando:

#! / bin / bash
export  foo  = bar
bash -c 'foo = baz'  # no tiene efecto 
echo  "  $ foo  "  # print 'bar'

barra de estampados ; el cambio a $ foo dentro del script de una línea no afecta el proceso que lo invocó. (Sin embargo, podría afectar a cualquier script que fueron llamados a su vez por ese guión.)

Si se desea una variable de entorno dada para un solo comando, se puede usar la sintaxis, con la sintaxis de una asignación de variable (o múltiples asignaciones de variables) que precede a un comando en la misma línea. (Tenga en cuenta que, a pesar de usar la sintaxis de una asignación de variable, esto es muy diferente de una asignación de variable Bash normal, en que la variable se exporta automáticamente al entorno y en que solo existe para el comando. Si desea evitar la confusión de sintaxis similar hacer las cosas diferentes, se puede utilizar la común utilidad Unix env para el mismo efecto que la utilidad también hace que sea posible. eliminar una variable de entorno para un comando – o incluso para eliminar todas las variables de entorno para un comando) Si. $ varvar =value commandya existe, y se desea incluir su valor real en el entorno para un solo comando, que se puede escribir como .var = " $var " command

Aparte: a veces es útil colocar definiciones de variables, o definiciones de funciones, en un script de Bash (por ejemplo, header.sh ) que puede ser llamado por otro script de Bash (por ejemplo, main.sh ). Podemos ver que simplemente invocar ese otro script Bash, como ./header.sh o como bash ./header.sh , no funcionará: las definiciones de variables en header.sh no serán vistas por main.sh , ni siquiera si “exportado” esas definiciones. (Este es un punto de confusión común: exportar las variables de exportación al entorno para que otros procesos puedan verlas, pero solo las ven los procesos secundarios , no los padres.) Sin embargo, podemos usar el comando incorporado Bash (“punto”) o fuente , que ejecuta un archivo externo casi como si fuera una función de shell. Si header.sh se ve así:

 foo  = función de barra
 baz ()
 {
  echo  "  $ @  "
 }

entonces este script:

#! / bin / bash
. header.sh
baz "  $ foo  "

imprimirá 'barra' .

Alcance 

Ahora hemos visto algunos de los caprichos del alcance variable en Bash.

Para resumir lo que hemos visto hasta ahora:

  • Las variables regulares de Bash están orientadas al shell que las contiene, incluidas las subshells en ese shell.
    • No son visibles para ningún proceso secundario (es decir, para programas externos).
    • Si se crean dentro de una subshell, no son visibles para el shell principal.
    • Si se modifican dentro de una subshell, esas modificaciones no son visibles para el shell principal.
    • Esto también se aplica a las funciones, que en muchos aspectos son similares a las variables regulares de Bash.
  • Las llamadas de función no se ejecutan inherentemente en subshells.
    • Una modificación de variable dentro de una función generalmente es visible para el código que llama a la función.
  • Las variables de Bash que se exportan al entorno tienen un alcance al shell que las contiene, incluidas las subshells o procesos secundarios en ese shell.
    • El comando incorporado de exportación se puede utilizar para exportar una variable al entorno. (También hay otras formas, pero esta es la forma más común).
    • Difieren de las variables no exportadas solo en que son visibles para los procesos secundarios. En particular, todavía no son visibles para shells principales o procesos primarios.
  • Los scripts de Bash externos, como otros programas externos, se ejecutan en procesos secundarios. El o el comando integrado de origen se puede utilizar para ejecutar un script de este tipo internamente, en cuyo caso no se ejecuta de forma inherente en una subshell.

Ademas a  esto añadimos ahora:

  • Las variables de Bash que están localizadas en una función-llamada están sujetas a la función que las contiene, incluyendo cualquier función llamada por esa función.
  • El comando incorporado local se puede usar para localizar una o más variables a una llamada de función, usando la sintaxis local var1 var2o . (también hay otras formas, por ejemplo, el comando declarar incorporado tiene el mismo efecto, pero esta es probablemente la forma más común).local var1 = val1 var2 = val2)
  • Se diferencian de las variables no localizadas en que desaparecen cuando finaliza su función-llamada. En particular, todavía son visibles para subshells y llamadas de función hijo. Además, al igual que las variables no localizadas, se pueden exportar al entorno para que también las vean los procesos secundarios.

En efecto, usar local para localizar una variable en una función-llamada es como poner la función-llamada en una subshell, excepto que solo afecta a una variable; otras variables pueden dejarse sin ser “locales”.

 

Una variable que se establece dentro de una función (ya sea mediante asignación o mediante un comando for-loop u otro comando incorporado) debe marcarse como “local” utilizando el comando incorporado local , para evitar que se afecte accidentalmente el código fuera del función, a menos que se desee específicamente que la persona que llama vea el nuevo valor.

Es importante tener en cuenta que, aunque las variables locales en Bash son muy útiles, no son tan locales como las variables locales en la mayoría de los otros lenguajes de programación, ya que son vistos por llamadas de funciones secundarias. Por ejemplo, este script:

#! / bin / bash

foo  = bar

function f1 ()
 {
  echo  "  $ foo  "
 }

function f2 ()
 {
  local  foo  = baz
  f1 # imprime 'baz'
 }

 f2

En realidad se imprimirá baz en lugar de barra . Esto se debe a que el valor original de $ foo está oculto hasta que devuelve f2 . (En la teoría del lenguaje de programación, una variable como $ foo se dice que tiene un “ámbito dinámico” en lugar de un “ámbito léxico”).

Una diferencia entre local y subshell es que mientras que un subshell toma inicialmente sus variables de su shell principal, una declaración como local foo oculta inmediatamente el valor anterior de $ foo ; es decir, $ foo se desestabiliza localmente. Si se desea inicializar el $ foo local al valor del $ foo existente , debemos especificarlo explícitamente, mediante el uso de una declaración como local foo = "$ foo" .

Cuando una función sale, las variables recuperan los valores que tenían antes de sus declaraciones locales (o simplemente se anulan, si no se habían anulado). Curiosamente, esto significa que un script como este:

 #! / bin / bash

function f ()
 {
  foo  = baz
   local  foo  = bip
 }

foo  = bar
 F
echo  "  $ foo  "

Realmente imprimirá baz : la declaración foo = baz en la función surte efecto antes de que la variable se localice, por lo que el valor baz es lo que se restaura cuando la función regresa.Y dado que local es simplemente un comando ejecutable, una función puede decidir en tiempo de ejecución si localizar una variable dada, por lo que este script:

#! / bin / bash

function f ()
 {
  si  [[  "  $ 1  "  ==  'sí'  ]]  ;  entonces
    Foo
   local fi
  foo  = baz
 }

foo  = bar
f yes # modifica un $ foo localizado, por lo que no tiene ningún efecto 
echo  "  $ foo  "  # imprime 'barra' 
f # modifica el $ foo no localizado, configurándolo en 'baz' 
echo  "  $ foo  "  # imprime 'baz'

Este script en realidad se imprimirá

 bar
baz

 

Instalar Google Street View en una tableta Kindle Fire


Nadie puede discutir la excelente relacion calidad/precio de la nueva generación de unos de los  tabletas más vendido: la Fire 7 ahora más fina y ligera ycon mayor autonomía

Esta tableta  cuenta con una pantalla mejorada  (con pantalla IPS de 7 pulgadas con mayor contraste y textos más definidos,)  un procesador Quad-Core de 1,3 GHz , hasta 8 horas de batería,  almacenamiento interno de 8 o 16 GB y ranura microSD para obtener hasta 256 GB de espacio adicional.

Una de las principales características de las famosas  tabletas  Fire de Amazon es que se encuentran ancladas a su ecosistema ,incluso cuando son  adquiridas,  pues vienen pre-configuradas  para un  usuario  de Amazon,  para que la experiencia de instalación sea la  mas sencilla posible .Desgraciadamente esta comodidad tiene también una gran  pega pues todo el interfaz  :solo orientado a ser usada dentro del ecosistema de Amazon , que  sin duda resulta muy seductor  pues ofrece entre otras las siguientes ventajas:

  • Acceso a  de millones de canciones, eBooks Kindle, apps y juegos del Appstore de Amazon, como Prime Video, Netflix, Facebook, Instagram y Spotify (no es compatible con Google Play Store).
  • Los miembros Prime tienen acceso ilimitado a películas, series y almacenamiento seguro para fotos sin ningún coste adicional.

Como  vemos , la experiencia “Amazon” incluye una pantalla de inicio de Amazon, aplicaciones de Amazon precargadas , contenidos exclusivos de Amazon   y por supuesto  la tienda de aplicaciones y contenidos de Amazon  (obviamente no incluye Google Pay Store)

Aún no contando con el market de Google  como hemos visto en este blog , es posible instalar  aplicaciones  que no estén en el market de Amazon  de manera extraoficial desde hace años, y esta nueva tableta de Amazon no es una excepción.

El proceso en términos generales siempre que la app no use los servicios de Google es  de lo más sencillo ,pues  solo necesita descargar desde la red la aplicación   en formato APK . Por  ejemplo  de hecho en efecto podemos instalar la app de Gooogle Street View buscando el apk correspondiente en la red   e instalando el apk  en la tableta,pero desgraciadamente  con  esta app  y otras tantas  hay un problema, que aunque en efecto se puede instalar desde un apk, no funciona  por si mismo  porque  necesita de los servicios de Google para funcionar ,   de modo que si quiere instalar alguna app que haga  uso del algún  servicio de Google  no sera posible  pues por defecto pues en la Fire necesitaremos un componente básico : Google Play y todos los servicios de Google  asociados que no están soportados oficialmente por Amazon, pero no se preocupe , pues incluso sin root  es posible instalar estos componentes como vamos a ver a continuación.

Pasos para instalar Play Store en las tabletas Fire

En efecto a veces necesitaremos instalar Google Play Store  para usar otras apps  como por ejemplo Google Street View   o cualquier otra que haga uso de los servicios de Google.

La sencillez es una de las claves de este nuevo proceso, pues no necesitamos  desproteger (rootear) o instalar herramientas adicionales, como por ejemplo el ADB de Android.

Estos son los pasos de forma resumida si contamos con una tableta  con sistema operativo Fire 5.0 o posterior:

Como vemos  este método   tiene una facilidad adicional , pues todo el proceso para instalar Play Store en los tablets Fire se ejecuta desde el mismo tablet, lo que aumenta su comodidad y, por lo tanto, no hay que conectarlo a ordenador alguno

Veamos de forma detallada el proceso.

1-Instalación  Google Account Manager

Google Account Mnager es una aplicación cuyo objetivo principal es el de a administrar todas las cuentas de google sincronizadas en su dispositivo android.

En algunos dispositivos esta aplicación es utilizada para remover y  reemplazar las cuentas de google olvidadas (FRP) permitiendo así el acceso al dispositivo android.

Para instalar  este componente desde el propio navegador de la Fire  desde apkmirror  podemos descargar directamente el apk ( desde es link Google Account Manager) y una  vez descargado ,procederemos a lanzar su instalación.

 

2-Instalación Google services Framework

El marco de servicios de Google Play se utiliza para actualizar las aplicaciones de Google y las aplicaciones de Google Play.

Este componente proporciona una funcionalidad central como la autenticación a sus servicios de Google, contactos sincronizados, acceso a las últimas configuraciones de privacidad del usuario y servicios basados en la ubicación de alta calidad y menor potencia.

El marco de servicios de Google Play también mejora la experiencia de su aplicación:acelera las búsquedas fuera de línea, proporciona mapas más inmersivos y mejora las experiencias de juego.

Para instalar  este componente desde el propio navegador de la Fire  desde apkmirror  podemos descargar directamente el apk ( desde este link Google Services Framework )y una  vez descargado ,procederemos a lanzar su instalación

 

3-Instalación de Google  Play Services

Las funciones principales son:
  • La autentificación de servicios de Google
  • La sincronización de contactos,
  • El acceso a la última configuración de privacidad del usuario
  • Los servicios basados en la ubicación de mayor calidad y menor potencia.
Además de todo esto, Google Play Services mejora la experiencia general de uso del terminal. Permite agilizar las búsquedas sin conexión, proporciona mapas más envolventes y mejora la experiencia de juego mediante la optimización de memoria RAM.

Otras opciones dentro del menú de Google Play Services nos permitirán gestionar las aplicaciones de nuestra cuenta (no necesariamente las que tengamos instaladas), o establecer diferentes ajustes de localización, o incluso de Google Fit

La aplicación Google Play Services siempre tiene un código numérico adjunto a su nombre, con el formato X.X.XX (XXXXXXX-ABC).  Ese código numérico junto al nombre es importante para determinar si esa aplicación Google Play Services es compatible o no con un dispositivo. Es importante fijarse en la versión de la aplicación y en los tres últimos números “ABC” dentro del paréntesis, (el resto de números 2645110 es irrelevante).

Estos tres números ABC indican con qué dispositivos es compatible esa aplicación:

“A” representa la versión de Android:
0: Android 4.4.4 o inferior
2: Android 5.0 y 5.1 (Google Play Services 8.X.XX o superior).
4: Android 5.0 y 5.1 (Google Play Services 7.X.XX o inferior) y para Android 6.0 o superior (Google Play Services 8.X.XX o superior).
7: Android 5.0
8: Android TV
“B” representa la arquitectura del CPU:
1: armeabi
3: armeabi-v7a
4: arm64-v8a
7: x86
“C” representa el DPI de la pantalla:
0: compatible con todos los dispositivos
2: 160 DPI
4: 240 DPI
6: 320 DPI
8: 480 DPI

En el caso de que se vaya a actualizar manualmente la aplicación Google Play Services existente en el dispositivo Android, lo recomendable es ver el código “ABC” de la aplicación (Ajustes > Aplicaciones > Google Play Services) y descargar una versión actualizada de Google Play Services con ese mismo código ABC.

En el caso de la Kindle Amazon Fire 5ºgeneracion   lleva instalada  Android  Lollipop_MR1 ,version LVY48F  Release  5.1.1, SDK 22  por  lo deberemos instalar la version  Google Play Services 11.5.09 (230-164803921) (230) que hemos probado desde este blog  y que puede descargar desde este link Google Play Services version 11.5.09.230

En caso de los modelo Fire HD 8 2017 de séptima generación, debe instalar Google Play Services  veesion 11-5-09-240 

 

4-Instalación Google Play

Como todos sabemos  Google Play Store (anteriormente Android Market) es la  plataforma de distribución digital de aplicaciones móviles para los dispositivos con sistema operativo Android , así como la tienda en línea desarrollada y operada por Google.

Las aplicaciones se encuentran disponibles de forma gratuita, así como también con costo,  por lo que también incluye  una plataforma de pagos (Google Pay)

Es posible también instalar esta aplicación directamente y sin necesidad de ordenador  pero antes debería haber instalado los tres componentes anteriores : Google Account Manager, Google Services Framework  y  Google Play Services 

Para instalar  este componente desde el propio navegador de la Fire  desde apkmirror  podemos descargar directamente el apk ( desde este link; Google Play Store) y una  vez descargado ,procederemos a lanzar su instalación.

 

5-Pasos  finales

Si ha descargado y ejecutado en el orden anterior  las cuatros   apk  citadas   habrá terminado . Si no  lo ha hecho ,una vez que  tenga todas las apk , debe proceder a la instalación de cada uno de los 4 apk  en el orden en los que los descargo :Google Account Manager, Google Services Framework  ,  Google Play Services y Google Play 

En cualquier caso una vez instaladas las 4 apk’s  ,no olvide reiniciar el tablet de forma habitual y todo debería funciona de forma correcta de modo que ya debería ver el acceso a Google Play  en el que tendrá que validarse con su cuenta de google para hacer uso

En nuestro caso ,  si antes había instalado  el apk de  Google Street View, ahora   ya no debería darle el error de que no tiene instalado Google Play , pero si pedirá que necesita actualizar los servicios de Google ( ojo  pues puede tardar bastante)    , momento en el cual nos pedirá  las credenciales de Google  y  ya debería arrancar  esta aplicación en la kindle fire.