-
Min SDK versión: 19 (4.4.1)
-
Siempre arm-v7 no x86 (ya que solo estamos en móviles)
-
En caso de que existan errores con algunos paquetes de NodeJS, eliminar por completo la carpeta de node_modules y volver a ejecutar el paso 3 y 4 de la preparación del proyecto
-
Si genera un error como
$ npm ERR! enoent ENOENT: no such file or directory, rename '/usr/local/lib/node_modules/.staging/ansi-392b32ed' -> '/usr/local/lib/node_modules/ionic/node_modules/cordova-lib/node_modules/ansi'
-
La opción recomendada es emplear nvm
-
Otra opción es cambiar privilegios en la ruta donde se encuentran los paquetes:
$ sudo chown -R <mi_usuario>.<mi_usuario> /usr/local/lib/node_modules/
-
La ultima opción es cambiar los comandos en el Makefile para que se ejecuten con privilegios de administrador.
-
- Instalación de dependencias
- Descarga y preparación del proyecto
- Ejecución del proyecto
- Release de Android
- Estructura del proyecto
-
Instalar NodeJS >= 6.X http://nodejs.org/download
-
Instalar dependencias de NodeJS:
npm install [email protected] [email protected] typescript typings http-server -g
(sudo para OSX) -
Descargar e instalar Android Studio https://developer.android.com/studio/index.html
- Una vez descargado, ejecutar el SDK Manager y asegurarse de que los siguientes packages estén instalados:
Android SDK Tools
Android SDK Platform-tools
Android SDK Build-Tools
Google Play Services
Google repository
Android Support repository
Google USB Driver
windows onlyIntel x86 Emulator Accelerator (HAMX)
windows onlySDK Platform PI 23/24
Intel x86 system image API 23/24
Google APIs API 23/24
- Una vez descargado, ejecutar el SDK Manager y asegurarse de que los siguientes packages estén instalados:
-
Instalar gradle https://gradle.org/install/
-
Para instalar HAXM en OSX se necesita realizar lo siguiente:
- Ingresar al PATH
/Users/xxx/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager
- Ejecutar el IntelHAXM_X.X.X.dmg
- Listo
- Ingresar al PATH
-
Asegurarse de tener $ANDROID_HOME en el $PATH
- Linux
$ export ANDROID_HOME=/<installation location>/android-sdk-linux $ export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
- OSX
$ export ANDROID_HOME=/<installation location>/android-sdk-linux $ export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
- Windows
$ ANDROID_HOME=C:\<installation location>\android-sdk-windows $ set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
-
Clonar el repositorio:
$ git clone [email protected]:dherby/mercurio_app.git
-
Ingresar al directorio:
$ cd mercurio_app
-
Instalar las dependencias locales:
$ npm install
$ ionic cordova prepare android
$ ionic cordova prepare ios
- En caso de error en algún paso anterior relacionado con
npm
:-
Descargar Visual Studio 2015
-
Crear un projecto en C++ e instalar las dependencias que necesite para el mismo, con ésto se instalará el compiler entre otras cosas
-
Volver a ejecutar
$ npm install
-
-
Ingresar al directorio:
$ cd mercurio_app
-
Android
-
Iniciar en dispositivo:
$ ionic cordova run android --device
$ ionic cordova run android --emulator
-
-
iOS
-
Instalar dependencias:
$ npm install -g ios-deploy
-
En caso de error ejecutar:
$ sudo npm install -g ios-deploy --unsafe-perm=true --allow-root
-
Iniciar en el dispositivo:
$ ionic cordova run ios --device
$ ionic cordova run ios --emulator
-
Para generar el APK que se instalará en android se puede ejecutar para desarrollo (no firmado):
$ ionic cordova build android
o bien para generar un APK para la Play Store (firmado):
$ make build-android
Para generar el proyecto de iOS es necesario ejecutar:
$ make build-ios
Nota: Es normal que se genere un error (ARCHIVE FAILED) al momento de archivar el paquete.
Después de generar el proyecto se debe abrir la aplicación en Xcode ubicado en:
mercurio_app/platforms/ios/Inteliviajes.xcodeproj
y activar las siguientes Capabilities:
- Push Notifications
- Associated Domains
- Background modes
- Background fetch
- Remote notifications
- Data Protection
- hooks
folder
: Representa scripts especiales que pueden ser agregados por la app para personalizar los comandos de cordova. - node_modules
folder
: Contiene todos los packages necesarios que se ejecutan sobre NodeJS - platforms
folder
: Archivos de configuración, paquetes y assets para las plataformas (Android y iOS) - plugins
folder
: Plugins de cordova - resources
folder
: Los recursos/assets que necesitan las plataformas para su instalación como el icono, splash, etc. - src
folder
: Contiene todo el código de la aplicación escrita en Angular2 (assets, pages, providers, themes, etc.) - typings
folder
: Contiene definiciones para typescript sobre ciertos módulos/packages/plugins dentro del proyecto. - www
folder
: Contiene el build final del proyecto - .editorconfig
file
: Es un archivo que tiene una colección declaraciones para el estilo de la programación. - .gitignore
file
: Contiene los archivos que no se van a tomar en cuenta para el repositorio de Git - config.xml
file
: Configuraciones globales que controla aspectos del comportamiento de la app en cordova - ionic.config.json
file
: Configuraciones específicas para el proyecto - karma.conf.js
file
: Archivo de configuración para las pruebas unitarias - package.json
file
: Archivo de configuración de instalación de NodeJS así como los comandos específicos. - README.md
file
- tsconfig.json
file
: Especifica configuraciones root del proyecto para typescript - tslint.json
file
: Reglas para el linter de typescript en CLI