|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. 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

_________________________________________________
127D.-
Cambiar permisos en el AndroidManifest.xml

terminal.aia

- Para ver el funcionamiento de esta aplicación es necesario instalar el archivo .apk en el móvil.

- Vamos a ver dos apartados distintos:

1.- Instalar un Terminal en el móvil para trabajar con los comandos de LINUX desde App inventor.

2.- Cambiar los permisos de AndroidManifest.xml

___________________________________________

- Empezamos.

- Instalamos en nuestro móvil el Terminal de Jack Palevich, bajándolo de la Play de Google.

https://play.google.com/store/apps/details?id=jackpal.androidterm

- O bien de aquí: jackpal.androidterm-1.0.70-71-minAPI4.apk

- Con este terminal podemos trabajar con los comandos de LINUX:

ls -l, cd \, cd \data\data, cd \mnt\sdcard, cat unarchivo.txt, echo...

- Para saber qué estamos haciendo es necesario conocer comandos de LINUX.

- Pero si no conoces los comandos de LINUX sigue leyendo este tutorial porque al menos aprenderás a cambiar permisos.

- Ahora pretendemos lanzar comandos de LINUX desde App inventor en ese terminal. Para ello utilizaremos un ActivityStarter.

- Nos basaremos en la aplicación de Taifun:

terminal.aia

_________________
- Diseño.

 

_________________
-
Bloques.

ActivityStarter.Acción = jackpal.androidterm.RUN_SCRIPT

ActivityStarter.ClaveAdicional = jackpal.androidterm.iInitialCommand

ActivityStarter.ValorAdicional = echo Hola amigos.

En el ValorAdicional pondríamos el comando que queremos ejecutar, en este caso es un echo.

_________________
-
Ejecución del terminal.

- Ejecutamos esta aplicación con el emulador de MIT COMPANION o Generando el archivo .apk e instalándola en nuestro móvil. En los dos casos obtendremos:

- Nos dice que desde esta aplicación no tenemos permiso para ejecutar el Terminal de jackpal.

- El archivo donde se configura los permisos necesarios se llama: AndroidManifest.xml

- Tenemos que cambiar ese archivo para ponerle los permisos necesarios para que pueda abrir el Terminal desde nuestra aplicación realizada con App inventor.

_________________
-
AndroidManifest.xml.

- Es un archivo que el Android lee cuando comienza la aplicación. Cada aplicación tiene su AndroidManifest.xml

- Tiene esta forma...

AndroidManifest.xml
		  <?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="1" android:versionName="1.0" package="appinventor.ai_juanantonio.terminal"
xmlns:android="http://schemas.android.com/apk/res/android">
<application android:label="terminal" android:icon="@drawable/ya" android:debuggable="false">
<activity android:name=".Screen1" android:configChanges="keyboardHidden|orientation" android:windowSoftInputMode="stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

- Aquí está la versión de la aplicación, el nombre de su paquete, los permisos, el lugar donde está el icono, la pantalla de inicio, teclado oculto, la orientación del móvil,...

- Nuestro AndroidManifes.xml no tiene la línea de permiso: <uses-permission android:name="jackpal.androidterm.permission.RUN_SCRIPT" />

- Vamos a añadirla.

________________________________________
- Cambiar el AndroidManifest.xml

- Generamos la aplicación y obtenemos el archivo de instalación Terminal.apk, lo guardamos en nuestro ordenador.

________________________________________
- Utilizamos AppToMarket.

- Descargamos y descomprimimos en nuestro ordenador el archivo de AppToMarket_v4.0.zip (46 MB) de...

https://drive.google.com/drive/folders/0B5b44rWoeEG8V3N6SXNpOXdyX0U

- Luego de esa misma página bajamos la actualización AppToMarket_v4.1.zip (6 MB) y copiamos sus 5 archivos en la carpeta donde antes hemos descomprimido la versión v4.0

- Ejecutamos AppToMarket_v4.1.jar

- Fíjate que está en la carpeta del v4.0 pero es la versión v4.1

- Al ejecutarse lee su archivo config.txt, por eso sale esos datos iniciales.

- Pero tú puedes cambiarlos. En este archivo se encuentran los datos del archivo de certificación que se denomina keystore.

- Aquí podemos crear el archivo de clave para la Play Store, "keystore".

- ¿Qué es este archivo "keystore"?

- Para lo que estamos haciendo de cambiar los permisos no es necesario, pero ya que ha salido voy a comentarlo.

El keystore es un archivo encriptado que se utiliza para firmar una aplicación, de tal manera que si la subimos a la Play Store de Google es seguro que es nuestra y si alguien la baja y la instala llevará nuestra firma. Esto se hace para evitar que alguien modifique nuestra aplicación y nos haga responsable de esa modificación. La Play Store solo permite subir aplicaciones firmadas con el keystore. Es una firma digital.
Lo más normal es tener un solo archivo de keystore y firmar todas nuestras aplicaciones con ese archivo.

Las aplicaciones que hacemos con App inventor ya tienen una keystore por defecto: (alias = androidkey; keystore password = android; key password = android; CN=MIT App Inventor; email address, O=AppInventor for Android, C=tupais) y es la misma para todos los usuarios, por eso no es conveniente subir las aplicaciones con esta keystore comun a todos. Si vamos a subir nuestra aplicación a la Play de Google es muy conveniente aplicarle nuestra keystore, pero si no lo vamos a subir no es necesario aplicarle el cerficado keystore.

- ¿Cómo creo un archivo de keystore?

- En AppToMarket, rellena los campos....

- Obtendremos el archivo keystore.ks en la carpeta establecida.

- ¿Cómo puedo poner la firma del archivo keystore en mi aplicación de App inventor?

- Proyectos / Importar keystore.

- Nos sale un aviso indicando que si ya teníamos esta aplicación en la Play Store con otro keystore, no se podrá actualizar, es decir podemos subir la apliación cambiada pero ya no lo tomará como una actualización sino como una nueva aplicación.

- En la ventana anterior podemos "Importar keystore", es decir tener una copia del keystore que firmo esa aplicación.

- En resumidas cuentas lo de la keystore solo se utiliza cuando quieres mantener tu aplicación actualizada en la Play Store y no quieres que cada versión que subas la tome como una nueva apliación, ya que se distingue entre actualizar una aplicación o crearla de nuevo si es que tiene una nueva keystore.

- No aplicaremos el archivo de keystore ni haremos nada con él.

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

- Vamos a poner permisos al AndroidManifest.xml

- Lo de keystore es un bonus, pero por ahora no lo necesitamos para lo que estamos haciendo, es decir lo que queremos es poner el permiso:

<uses-permission android:name="jackpal.androidterm.permission.RUN_SCRIPT" />

en el AndroidManifest.xml

- Localizo (Browse) el archivo Terminal.apk.

- Pulso en 1> Decompile

- Me indica que el archivo teminal.apk se ha decompilado en C:\Users\juan\...\temp_myDecompiles.

- Vamos a Editar el archivo AndroidManifes.xml.

- Pulso en 2> Update Manifest.

- Luego en 3> Edit Manifest.

- Sale esto. Añado la línea para ponerle permiso para que esta aplicación pueda ejecutar el Terminal de jackpal:

<uses-permission android:name="jackpal.androidterm.permission.RUN_SCRIPT" />

- Guardamos y pulsamos en 3> Create New .apk

- Tendremos una nueva .apk con el permiso añadido.

- Ahora ya podremos ejecutar la aplicación y esta abrirá el terminal.

___________________________________

- Propuesta.

- Vuelve a App inventor y cambia el código de:

echo Hola Amigo.

por esta orden:

ls -R /mnt/sdcard/DCIM > /mnt/sdcard/fotos.txt && exit

- Se guardará el listado de la fotos que están en el directorio DCIM en el archivo fotos.txt de la SdCard.

__________________________________

 

- 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