Step by Step Apk Android
Step by Step Apk Android
Java
En el ambiente de linux, se pueden realizar pruebas con la version open-source open-jdk para trabajar
el desarrollo de mygallery app o para generar apk debug-release.
Para asegurar la ruta correcta de java o la version correcta en caso de tener varias configuradas
Es importante asegurar la ruta correcta de java para evitar errores compilacion.
Node
Para la aplicacion de mygallery este es el principal ecosistema de trabajo, debido a que su codigo esta
basado en react-native y para ello es necesario node.
Exsite cualquier cantidad de version para node pero las pruebas se han realizado para las versiones :
erbium v12.18.4
fermium v14.8.0
Funciona correactamente cualquiera de los objetivos planteados en el documento.
Para verificar su funcionamiento se aplica el comando en el terminal:
Figure 3: node version
Android Studio
Luego de tener Java y Node configurado se procede a descargar e instalar android estudio, debido a que
se necesida Plataform-tools, sdk, system emulator etc. Se puede realizar directamente por consola, pero
esto seria complejo para algunos escenarios.
Continuando, se procede a descargar el paquete segun nuestro sistema operativo
Para finalizar se elige la plataforma o la version de android para realizar las pruebas y construir apk.
Este proceso se puede llevar acabo en un tiempo suficientemente largo, los sdk tienen un peso minimo
de 300mb en adelante. Considerando un buen consumo de ancho de banda y de datos. Se presiona
apply para instalar todo lo seleccionado.
Ya al finalizar las descargas se configuran las variables de entorno
En el caso de linux
en bash_profile y bashrc.
Figure 5: windows
Importante: la variable ANDROID_HOME debe indicar la ruta correcta donde se encuenta todas las
herramientas del proyecto android de lo contrario android studio no podra realizar aplk o instalaciones
necesarias para el proyecto.
Instaldas las librerias y configuradas las variables se tiene el equipo configurado para proceder a clonar
el proyecto mygallery-app y realizar la instalacion de las dependencias de react-native es necesario
tener credenciales para realizar .
Take off mygallery-app
Ya clonado el repositorio, se necesita agregar un par de archivos: google-services.json, debug-keystore
y grandle segun la version necesitada por el proyecto.
1. Google-services.json: credenciales vinculada con el servicio de firebase.
2. Debug.keystore: Firma general para generar apk
3. grandle: package para preparar el proyecto para generar apk.
Pre-installation
En el caso de google-services.json y debug.keystore deberan preguntar si existen estos documentos,
sobre todo el de google-services.json debido a que son credenciales de acceso. En el caso de
debug.keystore puede ser generado individualmente en caso de no tenerlo.
Installation
Figure 12: creacion del archivo index.android.bundle para visualizar interfaces al instalar la apk
Integrados los assets que incluye index y fonts, acto seguido se puede generar la apk de android el
comando:
Finalizado la creacion
No necesariamente por que el mensaje sea BUILD SUCCEFUL la apk esta bien generada, en el
trayecto de aprendizaje se demostro lo contrario y es necesario su prueba.
Para ello necesario es activar un emulador o emparejar el dispositivo mobile que se tenga a disposicion
obteniendo este resultado.
es necesaria la activacion del commando en consola npx jetify y volver a generar la apk.
Observartions
Normalize package.json
Algunos paquetes deben estar trabajando con una version estable y evitar actualizaciones
automatizadas para evitar errores de versionamiento.
Error release
Al tratar de generar el release, se presento un error de construccion que hasta el momento no se ha
solventado. No se ha detectado cual es el problema, se debera abocarse mas adelante a enmedarlo.
at com.facebook.react.modules.core.ExceptionsManagerModule.reportException(ExceptionsManagerModule.java:79)
at java.lang.reflect.Method.invoke(Native Method)
at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:151)
at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loop(Looper.java:214)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:226)
at java.lang.Thread.run(Thread.java:919)