Repository files navigation

ANDES

Mobile

App Mobile para ANDES

Notas

Como Angular y Angular-CLI son proyectos que están en constante actualización, recomendamos utilizar las versiones específicas detalladas en este documento

Requerimientos Android/Linux

Instalar Android Studio

  • Descargar Android Studio o usando el instalador de paquetes del sistema
  • Abrir Android Studio y seguir estos pasos:
    • Ir al menú File => Settings
    • Ir a System Settings => Android SDK
    • Seleccionar Android 10.0/API Level 29
    • Instalar (botón Apply)

Configurar Android SDK (Linux)

Agregar al PATH en el archivo ~/.bashrc

# ejemplo: export ANDROID_SDK_ROOT="/home/andrrr/Android/Sdk"export ANDROID_SDK_ROOT="/home/MI-USUARIO/RUTA/A/ANDROID/Sdk"
PATH=$PATH:$ANDROID_SDK_ROOT/tools PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools

Licencias

Para poder generar builds, es necesario aceptar ciertas licencias de uso. Para ello se debe navegar por consola a

/home/MI-USUARIO/Android/Sdk/tools/bin

y ejecutar el siguiente comando (aceptar todo):

./sdkmanager --licenses

Instalar JDK17 (Ubuntu/Mint/Debian)

Android/Cordova necesitan la versión 8, no funciona con versiones más nuevas. Por tanto, si hay una versión más nueva, primero se desinstala. También se puede instalar la versión de Oracle.

sudo apt update
sudo apt remove openjdk*
sudo apt install openjdk-8-jdk

Instalar y configurar Gradle

export PATH=$PATH:/home/MI-USUARIO/RUTA/A/GRADLE/gradle-X.Y.Z/bin

Instalación dentro del proyecto

cd mobile-app

Ionic 5

sudo npm install -g @ionic/cli@6.12.4

Native run para Ionic

sudo npm install -g native-run

Cordova y cordova-res (genera íconos y splash screen)

sudo npm install -g cordova@10.0.0 cordova-res

Instalar dependencias

npm install

Definir environment

cd src/environments
cp environment.ts.example environment.ts
cp environment.ts.example environment.dev.ts

Para desarrollo completar el archivo environment.dev.ts Para producción completar el archivo environment.ts

Compilar e iniciar la aplicación

  1. Generar resources (splash screen, íconos):
cordova-res
# Nota: se ejecuta sólo la primera vez, o cada vez que se cambie el diseño de íconos o splash screen
  1. Agregar platform y correr en dispositivo
ionic cordova platform add android (o ios)
ionic cordova run android (o ios) 

Uso del entorno

import{ENV}from'@app/env';
...
constbaseUrl=ENV.API_URL;

Generar release para Android APK (.apk) y Bundle (.aab)

  1. Deben estar presentes los archivos privados andes-key.jks, build-andes.json (antes era build.json) y google-services.json
  2. Se debe incrementar la versión en ionic.config.json según corresponda, por ejemplo:
    • Si es un fix se incrementa el último número 4.1.4 => 4.1.5
    • Si es una mejora se incrementa el segundo número 4.1.4 => 4.2.0
    • Si es un cambio importante en el entorno completo 4.1.4 => 5.0.0
    • Si es un cambio en una configuración, chore o lint, no incrementa versión
  3. Hacer commit de los cambios (así se puede incrementar la versión con npm)
  4. Con el directorio de trabajo limpio, ejecutar:
    1. Release Google Play Desarrollo:
      • Android APK: npm run build:demo:android:apk
      • Android Bundle (.aab): npm run build:demo:android:aab
    2. Release Google Play Producción:
      • Android APK: npm run build:prod:android:apk
      • Android Bundle (.aab): npm run build:prod:android:aab
  5. Al final del proceso se genera un archivo local —firmado y optimizado— con el nombre "andes{Prod|Demo}-v{X.Y.Z}.{apk|aab}" siendo X.Y.Z la versión configurada en ionic.config.json. Si un archivo con la misma versión ya existe, el proceso de build falla.
  6. La versión APK es para pruebas, la versión Bundle para Google Play.

Tests con Emulador

En algunas situaciones se requiere correr la app en un emulador con una versión de Android específica. El escenario típico es el de un usuario con una versión de Android (API level) diferente al target. A continuación se explica cómo correr un emulador desde la línea de comando para no tener que abrir Android Studio cada vez.

Correr la aplicación en un emulador

  1. Crear device con Android Studio, según la API level, resolución, etcétera que se necesite.
  2. Navegar por línea de comando a la carpeta del SDK Android/Sdk/tools/bin/ en la carpeta de usuario (la ubicación puede variar en cada sistema).
  3. Ejecutar ./avdmanager list avd para ver la lista de emuladores disponibles para usar. Si no hay ninguno es porque no hay ninguno creado. A continuación un ejemplo de resultado:
...
Name: 3.2_HVGA_slider_ADP1_API_24
Device: 3.2in HVGA slider (ADP1) (Generic)
Path: /home/andrrr/.android/avd/3.2_HVGA_slider_ADP1_API_24.avd
Target: Google APIs (Google Inc.)
Based on: Android 7.0 (Nougat) Tag/ABI: google_apis/x86
Skin: 320x480
Sdcard: 512 MB
  1. Copiar el nombre del avd, en este caso 3.2_HVGA_slider_ADP1_API_24
  2. Salir de la carpeta bin ejecutando cd ... Ahora estamos en Android/Sdk/tools/.
  3. Abrir el emulador con ./emulator -avd 3.2_HVGA_slider_ADP1_API_24
  4. Correr la app ionic con ionic cordova run android --emulator -l (el parámetro -l es opcional, implementa live reload si estamos desarrollando).

Listar, crear y correr emulador con scripts npm

  1. npm run sdk:install|uninstall --androidApiLevel=NUMERO_API_LEVEL: Instala/Desinstala un SDK de Android para ser usado en un emulador
  2. npm run avd:list:avd: Lista los emuladores actualmente instalados y disponibles para usar
  3. npm run avd:list:target: Lista las API level/versiones disponibles para instalar
  4. npm run avd:list:devices: Lista los dispositivos virtuales disponibles para instalar
  5. npm run avd:create --name=NOMBRE_SIMPLE_SIN_ESPACIOS --androidApiLevel=NUMERO_API_LEVEL --deviceName=NOMBRE_DEVICE:
  6. npm run avd:run --name=NOMBRE_SIMPLE_SIN_ESPACIOS:
  7. Podés consultar las API levels/versiones de Android

Ejemplo de uso:

# Bajar el SDK de API Level 25 (Android 7.1)
npm run sdk:install --androidApiLevel=25
# Crear un AVD "android7Andes" con la API level 25, modelo "Nexus 6"
npm run avd:create --name=android7Andes --androidApiLevel=25 --deviceName="Nexus 6"# Correr el AVD usando el nombre asignado
npm run avd:run --name=android7Andes
# Eliminar el AVD
npm run avd:delete --name=android7Andes

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

13 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

ANDES

Mobile

App Mobile para ANDES

Notas

Como Angular y Angular-CLI son proyectos que están en constante actualización, recomendamos utilizar las versiones específicas detalladas en este documento

Requerimientos Android/Linux

Instalar Android Studio

  • Descargar Android Studio o usando el instalador de paquetes del sistema
  • Abrir Android Studio y seguir estos pasos:
    • Ir al menú File => Settings
    • Ir a System Settings => Android SDK
    • Seleccionar Android 10.0/API Level 29
    • Instalar (botón Apply)

Configurar Android SDK (Linux)

Agregar al PATH en el archivo ~/.bashrc

# ejemplo: export ANDROID_SDK_ROOT="/home/andrrr/Android/Sdk"export ANDROID_SDK_ROOT="/home/MI-USUARIO/RUTA/A/ANDROID/Sdk"
PATH=$PATH:$ANDROID_SDK_ROOT/tools PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools

Licencias

Para poder generar builds, es necesario aceptar ciertas licencias de uso. Para ello se debe navegar por consola a

/home/MI-USUARIO/Android/Sdk/tools/bin

y ejecutar el siguiente comando (aceptar todo):

./sdkmanager --licenses

Instalar JDK17 (Ubuntu/Mint/Debian)

Android/Cordova necesitan la versión 8, no funciona con versiones más nuevas. Por tanto, si hay una versión más nueva, primero se desinstala. También se puede instalar la versión de Oracle.

sudo apt update
sudo apt remove openjdk*
sudo apt install openjdk-8-jdk

Instalar y configurar Gradle

export PATH=$PATH:/home/MI-USUARIO/RUTA/A/GRADLE/gradle-X.Y.Z/bin

Instalación dentro del proyecto

cd mobile-app

Ionic 5

sudo npm install -g @ionic/cli@6.12.4

Native run para Ionic

sudo npm install -g native-run

Cordova y cordova-res (genera íconos y splash screen)

sudo npm install -g cordova@10.0.0 cordova-res

Instalar dependencias

npm install

Definir environment

cd src/environments
cp environment.ts.example environment.ts
cp environment.ts.example environment.dev.ts

Para desarrollo completar el archivo environment.dev.ts Para producción completar el archivo environment.ts

Compilar e iniciar la aplicación

  1. Generar resources (splash screen, íconos):
cordova-res
# Nota: se ejecuta sólo la primera vez, o cada vez que se cambie el diseño de íconos o splash screen
  1. Agregar platform y correr en dispositivo
ionic cordova platform add android (o ios)
ionic cordova run android (o ios) 

Uso del entorno

import{ENV}from'@app/env';
...
constbaseUrl=ENV.API_URL;

Generar release para Android APK (.apk) y Bundle (.aab)

  1. Deben estar presentes los archivos privados andes-key.jks, build-andes.json (antes era build.json) y google-services.json
  2. Se debe incrementar la versión en ionic.config.json según corresponda, por ejemplo:
    • Si es un fix se incrementa el último número 4.1.4 => 4.1.5
    • Si es una mejora se incrementa el segundo número 4.1.4 => 4.2.0
    • Si es un cambio importante en el entorno completo 4.1.4 => 5.0.0
    • Si es un cambio en una configuración, chore o lint, no incrementa versión
  3. Hacer commit de los cambios (así se puede incrementar la versión con npm)
  4. Con el directorio de trabajo limpio, ejecutar:
    1. Release Google Play Desarrollo:
      • Android APK: npm run build:demo:android:apk
      • Android Bundle (.aab): npm run build:demo:android:aab
    2. Release Google Play Producción:
      • Android APK: npm run build:prod:android:apk
      • Android Bundle (.aab): npm run build:prod:android:aab
  5. Al final del proceso se genera un archivo local —firmado y optimizado— con el nombre "andes{Prod|Demo}-v{X.Y.Z}.{apk|aab}" siendo X.Y.Z la versión configurada en ionic.config.json. Si un archivo con la misma versión ya existe, el proceso de build falla.
  6. La versión APK es para pruebas, la versión Bundle para Google Play.

Tests con Emulador

En algunas situaciones se requiere correr la app en un emulador con una versión de Android específica. El escenario típico es el de un usuario con una versión de Android (API level) diferente al target. A continuación se explica cómo correr un emulador desde la línea de comando para no tener que abrir Android Studio cada vez.

Correr la aplicación en un emulador

  1. Crear device con Android Studio, según la API level, resolución, etcétera que se necesite.
  2. Navegar por línea de comando a la carpeta del SDK Android/Sdk/tools/bin/ en la carpeta de usuario (la ubicación puede variar en cada sistema).
  3. Ejecutar ./avdmanager list avd para ver la lista de emuladores disponibles para usar. Si no hay ninguno es porque no hay ninguno creado. A continuación un ejemplo de resultado:
...
Name: 3.2_HVGA_slider_ADP1_API_24
Device: 3.2in HVGA slider (ADP1) (Generic)
Path: /home/andrrr/.android/avd/3.2_HVGA_slider_ADP1_API_24.avd
Target: Google APIs (Google Inc.)
Based on: Android 7.0 (Nougat) Tag/ABI: google_apis/x86
Skin: 320x480
Sdcard: 512 MB
  1. Copiar el nombre del avd, en este caso 3.2_HVGA_slider_ADP1_API_24
  2. Salir de la carpeta bin ejecutando cd ... Ahora estamos en Android/Sdk/tools/.
  3. Abrir el emulador con ./emulator -avd 3.2_HVGA_slider_ADP1_API_24
  4. Correr la app ionic con ionic cordova run android --emulator -l (el parámetro -l es opcional, implementa live reload si estamos desarrollando).

Listar, crear y correr emulador con scripts npm

  1. npm run sdk:install|uninstall --androidApiLevel=NUMERO_API_LEVEL: Instala/Desinstala un SDK de Android para ser usado en un emulador
  2. npm run avd:list:avd: Lista los emuladores actualmente instalados y disponibles para usar
  3. npm run avd:list:target: Lista las API level/versiones disponibles para instalar
  4. npm run avd:list:devices: Lista los dispositivos virtuales disponibles para instalar
  5. npm run avd:create --name=NOMBRE_SIMPLE_SIN_ESPACIOS --androidApiLevel=NUMERO_API_LEVEL --deviceName=NOMBRE_DEVICE:
  6. npm run avd:run --name=NOMBRE_SIMPLE_SIN_ESPACIOS:
  7. Podés consultar las API levels/versiones de Android

Ejemplo de uso:

# Bajar el SDK de API Level 25 (Android 7.1)
npm run sdk:install --androidApiLevel=25
# Crear un AVD "android7Andes" con la API level 25, modelo "Nexus 6"
npm run avd:create --name=android7Andes --androidApiLevel=25 --deviceName="Nexus 6"# Correr el AVD usando el nombre asignado
npm run avd:run --name=android7Andes
# Eliminar el AVD
npm run avd:delete --name=android7Andes

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

13 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ANDES

Mobile

App Mobile para ANDES

Notas

Como Angular y Angular-CLI son proyectos que están en constante actualización, recomendamos utilizar las versiones específicas detalladas en este documento

Requerimientos Android/Linux

Instalar Android Studio

  • Descargar Android Studio o usando el instalador de paquetes del sistema
  • Abrir Android Studio y seguir estos pasos:
    • Ir al menú File => Settings
    • Ir a System Settings => Android SDK
    • Seleccionar Android 10.0/API Level 29
    • Instalar (botón Apply)

Configurar Android SDK (Linux)

Agregar al PATH en el archivo ~/.bashrc

# ejemplo: export ANDROID_SDK_ROOT="/home/andrrr/Android/Sdk"export ANDROID_SDK_ROOT="/home/MI-USUARIO/RUTA/A/ANDROID/Sdk"
PATH=$PATH:$ANDROID_SDK_ROOT/tools PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools

Licencias

Para poder generar builds, es necesario aceptar ciertas licencias de uso. Para ello se debe navegar por consola a

/home/MI-USUARIO/Android/Sdk/tools/bin

y ejecutar el siguiente comando (aceptar todo):

./sdkmanager --licenses

Instalar JDK17 (Ubuntu/Mint/Debian)

Android/Cordova necesitan la versión 8, no funciona con versiones más nuevas. Por tanto, si hay una versión más nueva, primero se desinstala. También se puede instalar la versión de Oracle.

sudo apt update
sudo apt remove openjdk*
sudo apt install openjdk-8-jdk

Instalar y configurar Gradle

export PATH=$PATH:/home/MI-USUARIO/RUTA/A/GRADLE/gradle-X.Y.Z/bin

Instalación dentro del proyecto

cd mobile-app

Ionic 5

sudo npm install -g @ionic/cli@6.12.4

Native run para Ionic

sudo npm install -g native-run

Cordova y cordova-res (genera íconos y splash screen)

sudo npm install -g cordova@10.0.0 cordova-res

Instalar dependencias

npm install

Definir environment

cd src/environments
cp environment.ts.example environment.ts
cp environment.ts.example environment.dev.ts

Para desarrollo completar el archivo environment.dev.ts Para producción completar el archivo environment.ts

Compilar e iniciar la aplicación

  1. Generar resources (splash screen, íconos):
cordova-res
# Nota: se ejecuta sólo la primera vez, o cada vez que se cambie el diseño de íconos o splash screen
  1. Agregar platform y correr en dispositivo
ionic cordova platform add android (o ios)
ionic cordova run android (o ios) 

Uso del entorno

import{ENV}from'@app/env';
...
constbaseUrl=ENV.API_URL;

Generar release para Android APK (.apk) y Bundle (.aab)

  1. Deben estar presentes los archivos privados andes-key.jks, build-andes.json (antes era build.json) y google-services.json
  2. Se debe incrementar la versión en ionic.config.json según corresponda, por ejemplo:
    • Si es un fix se incrementa el último número 4.1.4 => 4.1.5
    • Si es una mejora se incrementa el segundo número 4.1.4 => 4.2.0
    • Si es un cambio importante en el entorno completo 4.1.4 => 5.0.0
    • Si es un cambio en una configuración, chore o lint, no incrementa versión
  3. Hacer commit de los cambios (así se puede incrementar la versión con npm)
  4. Con el directorio de trabajo limpio, ejecutar:
    1. Release Google Play Desarrollo:
      • Android APK: npm run build:demo:android:apk
      • Android Bundle (.aab): npm run build:demo:android:aab
    2. Release Google Play Producción:
      • Android APK: npm run build:prod:android:apk
      • Android Bundle (.aab): npm run build:prod:android:aab
  5. Al final del proceso se genera un archivo local —firmado y optimizado— con el nombre "andes{Prod|Demo}-v{X.Y.Z}.{apk|aab}" siendo X.Y.Z la versión configurada en ionic.config.json. Si un archivo con la misma versión ya existe, el proceso de build falla.
  6. La versión APK es para pruebas, la versión Bundle para Google Play.

Tests con Emulador

En algunas situaciones se requiere correr la app en un emulador con una versión de Android específica. El escenario típico es el de un usuario con una versión de Android (API level) diferente al target. A continuación se explica cómo correr un emulador desde la línea de comando para no tener que abrir Android Studio cada vez.

Correr la aplicación en un emulador

  1. Crear device con Android Studio, según la API level, resolución, etcétera que se necesite.
  2. Navegar por línea de comando a la carpeta del SDK Android/Sdk/tools/bin/ en la carpeta de usuario (la ubicación puede variar en cada sistema).
  3. Ejecutar ./avdmanager list avd para ver la lista de emuladores disponibles para usar. Si no hay ninguno es porque no hay ninguno creado. A continuación un ejemplo de resultado:
...
Name: 3.2_HVGA_slider_ADP1_API_24
Device: 3.2in HVGA slider (ADP1) (Generic)
Path: /home/andrrr/.android/avd/3.2_HVGA_slider_ADP1_API_24.avd
Target: Google APIs (Google Inc.)
Based on: Android 7.0 (Nougat) Tag/ABI: google_apis/x86
Skin: 320x480
Sdcard: 512 MB
  1. Copiar el nombre del avd, en este caso 3.2_HVGA_slider_ADP1_API_24
  2. Salir de la carpeta bin ejecutando cd ... Ahora estamos en Android/Sdk/tools/.
  3. Abrir el emulador con ./emulator -avd 3.2_HVGA_slider_ADP1_API_24
  4. Correr la app ionic con ionic cordova run android --emulator -l (el parámetro -l es opcional, implementa live reload si estamos desarrollando).

Listar, crear y correr emulador con scripts npm

  1. npm run sdk:install|uninstall --androidApiLevel=NUMERO_API_LEVEL: Instala/Desinstala un SDK de Android para ser usado en un emulador
  2. npm run avd:list:avd: Lista los emuladores actualmente instalados y disponibles para usar
  3. npm run avd:list:target: Lista las API level/versiones disponibles para instalar
  4. npm run avd:list:devices: Lista los dispositivos virtuales disponibles para instalar
  5. npm run avd:create --name=NOMBRE_SIMPLE_SIN_ESPACIOS --androidApiLevel=NUMERO_API_LEVEL --deviceName=NOMBRE_DEVICE:
  6. npm run avd:run --name=NOMBRE_SIMPLE_SIN_ESPACIOS:
  7. Podés consultar las API levels/versiones de Android

Ejemplo de uso:

# Bajar el SDK de API Level 25 (Android 7.1)
npm run sdk:install --androidApiLevel=25
# Crear un AVD "android7Andes" con la API level 25, modelo "Nexus 6"
npm run avd:create --name=android7Andes --androidApiLevel=25 --deviceName="Nexus 6"# Correr el AVD usando el nombre asignado
npm run avd:run --name=android7Andes
# Eliminar el AVD
npm run avd:delete --name=android7Andes

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

13 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ANDES

Mobile

App Mobile para ANDES

Notas

Como Angular y Angular-CLI son proyectos que están en constante actualización, recomendamos utilizar las versiones específicas detalladas en este documento

Requerimientos Android/Linux

Instalar Android Studio

  • Descargar Android Studio o usando el instalador de paquetes del sistema
  • Abrir Android Studio y seguir estos pasos:
    • Ir al menú File => Settings
    • Ir a System Settings => Android SDK
    • Seleccionar Android 10.0/API Level 29
    • Instalar (botón Apply)

Configurar Android SDK (Linux)

Agregar al PATH en el archivo ~/.bashrc

# ejemplo: export ANDROID_SDK_ROOT="/home/andrrr/Android/Sdk"export ANDROID_SDK_ROOT="/home/MI-USUARIO/RUTA/A/ANDROID/Sdk"
PATH=$PATH:$ANDROID_SDK_ROOT/tools PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools

Licencias

Para poder generar builds, es necesario aceptar ciertas licencias de uso. Para ello se debe navegar por consola a

/home/MI-USUARIO/Android/Sdk/tools/bin

y ejecutar el siguiente comando (aceptar todo):

./sdkmanager --licenses

Instalar JDK17 (Ubuntu/Mint/Debian)

Android/Cordova necesitan la versión 8, no funciona con versiones más nuevas. Por tanto, si hay una versión más nueva, primero se desinstala. También se puede instalar la versión de Oracle.

sudo apt update
sudo apt remove openjdk*
sudo apt install openjdk-8-jdk

Instalar y configurar Gradle

export PATH=$PATH:/home/MI-USUARIO/RUTA/A/GRADLE/gradle-X.Y.Z/bin

Instalación dentro del proyecto

cd mobile-app

Ionic 5

sudo npm install -g @ionic/cli@6.12.4

Native run para Ionic

sudo npm install -g native-run

Cordova y cordova-res (genera íconos y splash screen)

sudo npm install -g cordova@10.0.0 cordova-res

Instalar dependencias

npm install

Definir environment

cd src/environments
cp environment.ts.example environment.ts
cp environment.ts.example environment.dev.ts

Para desarrollo completar el archivo environment.dev.ts Para producción completar el archivo environment.ts

Compilar e iniciar la aplicación

  1. Generar resources (splash screen, íconos):
cordova-res
# Nota: se ejecuta sólo la primera vez, o cada vez que se cambie el diseño de íconos o splash screen
  1. Agregar platform y correr en dispositivo
ionic cordova platform add android (o ios)
ionic cordova run android (o ios) 

Uso del entorno

import{ENV}from'@app/env';
...
constbaseUrl=ENV.API_URL;

Generar release para Android APK (.apk) y Bundle (.aab)

  1. Deben estar presentes los archivos privados andes-key.jks, build-andes.json (antes era build.json) y google-services.json
  2. Se debe incrementar la versión en ionic.config.json según corresponda, por ejemplo:
    • Si es un fix se incrementa el último número 4.1.4 => 4.1.5
    • Si es una mejora se incrementa el segundo número 4.1.4 => 4.2.0
    • Si es un cambio importante en el entorno completo 4.1.4 => 5.0.0
    • Si es un cambio en una configuración, chore o lint, no incrementa versión
  3. Hacer commit de los cambios (así se puede incrementar la versión con npm)
  4. Con el directorio de trabajo limpio, ejecutar:
    1. Release Google Play Desarrollo:
      • Android APK: npm run build:demo:android:apk
      • Android Bundle (.aab): npm run build:demo:android:aab
    2. Release Google Play Producción:
      • Android APK: npm run build:prod:android:apk
      • Android Bundle (.aab): npm run build:prod:android:aab
  5. Al final del proceso se genera un archivo local —firmado y optimizado— con el nombre "andes{Prod|Demo}-v{X.Y.Z}.{apk|aab}" siendo X.Y.Z la versión configurada en ionic.config.json. Si un archivo con la misma versión ya existe, el proceso de build falla.
  6. La versión APK es para pruebas, la versión Bundle para Google Play.

Tests con Emulador

En algunas situaciones se requiere correr la app en un emulador con una versión de Android específica. El escenario típico es el de un usuario con una versión de Android (API level) diferente al target. A continuación se explica cómo correr un emulador desde la línea de comando para no tener que abrir Android Studio cada vez.

Correr la aplicación en un emulador

  1. Crear device con Android Studio, según la API level, resolución, etcétera que se necesite.
  2. Navegar por línea de comando a la carpeta del SDK Android/Sdk/tools/bin/ en la carpeta de usuario (la ubicación puede variar en cada sistema).
  3. Ejecutar ./avdmanager list avd para ver la lista de emuladores disponibles para usar. Si no hay ninguno es porque no hay ninguno creado. A continuación un ejemplo de resultado:
...
Name: 3.2_HVGA_slider_ADP1_API_24
Device: 3.2in HVGA slider (ADP1) (Generic)
Path: /home/andrrr/.android/avd/3.2_HVGA_slider_ADP1_API_24.avd
Target: Google APIs (Google Inc.)
Based on: Android 7.0 (Nougat) Tag/ABI: google_apis/x86
Skin: 320x480
Sdcard: 512 MB
  1. Copiar el nombre del avd, en este caso 3.2_HVGA_slider_ADP1_API_24
  2. Salir de la carpeta bin ejecutando cd ... Ahora estamos en Android/Sdk/tools/.
  3. Abrir el emulador con ./emulator -avd 3.2_HVGA_slider_ADP1_API_24
  4. Correr la app ionic con ionic cordova run android --emulator -l (el parámetro -l es opcional, implementa live reload si estamos desarrollando).

Listar, crear y correr emulador con scripts npm

  1. npm run sdk:install|uninstall --androidApiLevel=NUMERO_API_LEVEL: Instala/Desinstala un SDK de Android para ser usado en un emulador
  2. npm run avd:list:avd: Lista los emuladores actualmente instalados y disponibles para usar
  3. npm run avd:list:target: Lista las API level/versiones disponibles para instalar
  4. npm run avd:list:devices: Lista los dispositivos virtuales disponibles para instalar
  5. npm run avd:create --name=NOMBRE_SIMPLE_SIN_ESPACIOS --androidApiLevel=NUMERO_API_LEVEL --deviceName=NOMBRE_DEVICE:
  6. npm run avd:run --name=NOMBRE_SIMPLE_SIN_ESPACIOS:
  7. Podés consultar las API levels/versiones de Android

Ejemplo de uso:

# Bajar el SDK de API Level 25 (Android 7.1)
npm run sdk:install --androidApiLevel=25
# Crear un AVD "android7Andes" con la API level 25, modelo "Nexus 6"
npm run avd:create --name=android7Andes --androidApiLevel=25 --deviceName="Nexus 6"# Correr el AVD usando el nombre asignado
npm run avd:run --name=android7Andes
# Eliminar el AVD
npm run avd:delete --name=android7Andes

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

13 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

ANDES

Mobile

App Mobile para ANDES

Notas

Como Angular y Angular-CLI son proyectos que están en constante actualización, recomendamos utilizar las versiones específicas detalladas en este documento

Requerimientos Android/Linux

Instalar Android Studio

  • Descargar Android Studio o usando el instalador de paquetes del sistema
  • Abrir Android Studio y seguir estos pasos:
    • Ir al menú File => Settings
    • Ir a System Settings => Android SDK
    • Seleccionar Android 10.0/API Level 29
    • Instalar (botón Apply)

Configurar Android SDK (Linux)

Agregar al PATH en el archivo ~/.bashrc

# ejemplo: export ANDROID_SDK_ROOT="/home/andrrr/Android/Sdk"export ANDROID_SDK_ROOT="/home/MI-USUARIO/RUTA/A/ANDROID/Sdk"
PATH=$PATH:$ANDROID_SDK_ROOT/tools PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools

Licencias

Para poder generar builds, es necesario aceptar ciertas licencias de uso. Para ello se debe navegar por consola a

/home/MI-USUARIO/Android/Sdk/tools/bin

y ejecutar el siguiente comando (aceptar todo):

./sdkmanager --licenses

Instalar JDK17 (Ubuntu/Mint/Debian)

Android/Cordova necesitan la versión 8, no funciona con versiones más nuevas. Por tanto, si hay una versión más nueva, primero se desinstala. También se puede instalar la versión de Oracle.

sudo apt update
sudo apt remove openjdk*
sudo apt install openjdk-8-jdk

Instalar y configurar Gradle

export PATH=$PATH:/home/MI-USUARIO/RUTA/A/GRADLE/gradle-X.Y.Z/bin

Instalación dentro del proyecto

cd mobile-app

Ionic 5

sudo npm install -g @ionic/cli@6.12.4

Native run para Ionic

sudo npm install -g native-run

Cordova y cordova-res (genera íconos y splash screen)

sudo npm install -g cordova@10.0.0 cordova-res

Instalar dependencias

npm install

Definir environment

cd src/environments
cp environment.ts.example environment.ts
cp environment.ts.example environment.dev.ts

Para desarrollo completar el archivo environment.dev.ts Para producción completar el archivo environment.ts

Compilar e iniciar la aplicación

  1. Generar resources (splash screen, íconos):
cordova-res
# Nota: se ejecuta sólo la primera vez, o cada vez que se cambie el diseño de íconos o splash screen
  1. Agregar platform y correr en dispositivo
ionic cordova platform add android (o ios)
ionic cordova run android (o ios) 

Uso del entorno

import{ENV}from'@app/env';
...
constbaseUrl=ENV.API_URL;

Generar release para Android APK (.apk) y Bundle (.aab)

  1. Deben estar presentes los archivos privados andes-key.jks, build-andes.json (antes era build.json) y google-services.json
  2. Se debe incrementar la versión en ionic.config.json según corresponda, por ejemplo:
    • Si es un fix se incrementa el último número 4.1.4 => 4.1.5
    • Si es una mejora se incrementa el segundo número 4.1.4 => 4.2.0
    • Si es un cambio importante en el entorno completo 4.1.4 => 5.0.0
    • Si es un cambio en una configuración, chore o lint, no incrementa versión
  3. Hacer commit de los cambios (así se puede incrementar la versión con npm)
  4. Con el directorio de trabajo limpio, ejecutar:
    1. Release Google Play Desarrollo:
      • Android APK: npm run build:demo:android:apk
      • Android Bundle (.aab): npm run build:demo:android:aab
    2. Release Google Play Producción:
      • Android APK: npm run build:prod:android:apk
      • Android Bundle (.aab): npm run build:prod:android:aab
  5. Al final del proceso se genera un archivo local —firmado y optimizado— con el nombre "andes{Prod|Demo}-v{X.Y.Z}.{apk|aab}" siendo X.Y.Z la versión configurada en ionic.config.json. Si un archivo con la misma versión ya existe, el proceso de build falla.
  6. La versión APK es para pruebas, la versión Bundle para Google Play.

Tests con Emulador

En algunas situaciones se requiere correr la app en un emulador con una versión de Android específica. El escenario típico es el de un usuario con una versión de Android (API level) diferente al target. A continuación se explica cómo correr un emulador desde la línea de comando para no tener que abrir Android Studio cada vez.

Correr la aplicación en un emulador

  1. Crear device con Android Studio, según la API level, resolución, etcétera que se necesite.
  2. Navegar por línea de comando a la carpeta del SDK Android/Sdk/tools/bin/ en la carpeta de usuario (la ubicación puede variar en cada sistema).
  3. Ejecutar ./avdmanager list avd para ver la lista de emuladores disponibles para usar. Si no hay ninguno es porque no hay ninguno creado. A continuación un ejemplo de resultado:
...
Name: 3.2_HVGA_slider_ADP1_API_24
Device: 3.2in HVGA slider (ADP1) (Generic)
Path: /home/andrrr/.android/avd/3.2_HVGA_slider_ADP1_API_24.avd
Target: Google APIs (Google Inc.)
Based on: Android 7.0 (Nougat) Tag/ABI: google_apis/x86
Skin: 320x480
Sdcard: 512 MB
  1. Copiar el nombre del avd, en este caso 3.2_HVGA_slider_ADP1_API_24
  2. Salir de la carpeta bin ejecutando cd ... Ahora estamos en Android/Sdk/tools/.
  3. Abrir el emulador con ./emulator -avd 3.2_HVGA_slider_ADP1_API_24
  4. Correr la app ionic con ionic cordova run android --emulator -l (el parámetro -l es opcional, implementa live reload si estamos desarrollando).

Listar, crear y correr emulador con scripts npm

  1. npm run sdk:install|uninstall --androidApiLevel=NUMERO_API_LEVEL: Instala/Desinstala un SDK de Android para ser usado en un emulador
  2. npm run avd:list:avd: Lista los emuladores actualmente instalados y disponibles para usar
  3. npm run avd:list:target: Lista las API level/versiones disponibles para instalar
  4. npm run avd:list:devices: Lista los dispositivos virtuales disponibles para instalar
  5. npm run avd:create --name=NOMBRE_SIMPLE_SIN_ESPACIOS --androidApiLevel=NUMERO_API_LEVEL --deviceName=NOMBRE_DEVICE:
  6. npm run avd:run --name=NOMBRE_SIMPLE_SIN_ESPACIOS:
  7. Podés consultar las API levels/versiones de Android

Ejemplo de uso:

# Bajar el SDK de API Level 25 (Android 7.1)
npm run sdk:install --androidApiLevel=25
# Crear un AVD "android7Andes" con la API level 25, modelo "Nexus 6"
npm run avd:create --name=android7Andes --androidApiLevel=25 --deviceName="Nexus 6"# Correr el AVD usando el nombre asignado
npm run avd:run --name=android7Andes
# Eliminar el AVD
npm run avd:delete --name=android7Andes

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

13 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ANDES

Mobile

App Mobile para ANDES

Notas

Como Angular y Angular-CLI son proyectos que están en constante actualización, recomendamos utilizar las versiones específicas detalladas en este documento

Requerimientos Android/Linux

Instalar Android Studio

  • Descargar Android Studio o usando el instalador de paquetes del sistema
  • Abrir Android Studio y seguir estos pasos:
    • Ir al menú File => Settings
    • Ir a System Settings => Android SDK
    • Seleccionar Android 10.0/API Level 29
    • Instalar (botón Apply)

Configurar Android SDK (Linux)

Agregar al PATH en el archivo ~/.bashrc

# ejemplo: export ANDROID_SDK_ROOT="/home/andrrr/Android/Sdk"export ANDROID_SDK_ROOT="/home/MI-USUARIO/RUTA/A/ANDROID/Sdk"
PATH=$PATH:$ANDROID_SDK_ROOT/tools PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools

Licencias

Para poder generar builds, es necesario aceptar ciertas licencias de uso. Para ello se debe navegar por consola a

/home/MI-USUARIO/Android/Sdk/tools/bin

y ejecutar el siguiente comando (aceptar todo):

./sdkmanager --licenses

Instalar JDK17 (Ubuntu/Mint/Debian)

Android/Cordova necesitan la versión 8, no funciona con versiones más nuevas. Por tanto, si hay una versión más nueva, primero se desinstala. También se puede instalar la versión de Oracle.

sudo apt update
sudo apt remove openjdk*
sudo apt install openjdk-8-jdk

Instalar y configurar Gradle

export PATH=$PATH:/home/MI-USUARIO/RUTA/A/GRADLE/gradle-X.Y.Z/bin

Instalación dentro del proyecto

cd mobile-app

Ionic 5

sudo npm install -g @ionic/cli@6.12.4

Native run para Ionic

sudo npm install -g native-run

Cordova y cordova-res (genera íconos y splash screen)

sudo npm install -g cordova@10.0.0 cordova-res

Instalar dependencias

npm install

Definir environment

cd src/environments
cp environment.ts.example environment.ts
cp environment.ts.example environment.dev.ts

Para desarrollo completar el archivo environment.dev.ts Para producción completar el archivo environment.ts

Compilar e iniciar la aplicación

  1. Generar resources (splash screen, íconos):
cordova-res
# Nota: se ejecuta sólo la primera vez, o cada vez que se cambie el diseño de íconos o splash screen
  1. Agregar platform y correr en dispositivo
ionic cordova platform add android (o ios)
ionic cordova run android (o ios) 

Uso del entorno

import{ENV}from'@app/env';
...
constbaseUrl=ENV.API_URL;

Generar release para Android APK (.apk) y Bundle (.aab)

  1. Deben estar presentes los archivos privados andes-key.jks, build-andes.json (antes era build.json) y google-services.json
  2. Se debe incrementar la versión en ionic.config.json según corresponda, por ejemplo:
    • Si es un fix se incrementa el último número 4.1.4 => 4.1.5
    • Si es una mejora se incrementa el segundo número 4.1.4 => 4.2.0
    • Si es un cambio importante en el entorno completo 4.1.4 => 5.0.0
    • Si es un cambio en una configuración, chore o lint, no incrementa versión
  3. Hacer commit de los cambios (así se puede incrementar la versión con npm)
  4. Con el directorio de trabajo limpio, ejecutar:
    1. Release Google Play Desarrollo:
      • Android APK: npm run build:demo:android:apk
      • Android Bundle (.aab): npm run build:demo:android:aab
    2. Release Google Play Producción:
      • Android APK: npm run build:prod:android:apk
      • Android Bundle (.aab): npm run build:prod:android:aab
  5. Al final del proceso se genera un archivo local —firmado y optimizado— con el nombre "andes{Prod|Demo}-v{X.Y.Z}.{apk|aab}" siendo X.Y.Z la versión configurada en ionic.config.json. Si un archivo con la misma versión ya existe, el proceso de build falla.
  6. La versión APK es para pruebas, la versión Bundle para Google Play.

Tests con Emulador

En algunas situaciones se requiere correr la app en un emulador con una versión de Android específica. El escenario típico es el de un usuario con una versión de Android (API level) diferente al target. A continuación se explica cómo correr un emulador desde la línea de comando para no tener que abrir Android Studio cada vez.

Correr la aplicación en un emulador

  1. Crear device con Android Studio, según la API level, resolución, etcétera que se necesite.
  2. Navegar por línea de comando a la carpeta del SDK Android/Sdk/tools/bin/ en la carpeta de usuario (la ubicación puede variar en cada sistema).
  3. Ejecutar ./avdmanager list avd para ver la lista de emuladores disponibles para usar. Si no hay ninguno es porque no hay ninguno creado. A continuación un ejemplo de resultado:
...
Name: 3.2_HVGA_slider_ADP1_API_24
Device: 3.2in HVGA slider (ADP1) (Generic)
Path: /home/andrrr/.android/avd/3.2_HVGA_slider_ADP1_API_24.avd
Target: Google APIs (Google Inc.)
Based on: Android 7.0 (Nougat) Tag/ABI: google_apis/x86
Skin: 320x480
Sdcard: 512 MB
  1. Copiar el nombre del avd, en este caso 3.2_HVGA_slider_ADP1_API_24
  2. Salir de la carpeta bin ejecutando cd ... Ahora estamos en Android/Sdk/tools/.
  3. Abrir el emulador con ./emulator -avd 3.2_HVGA_slider_ADP1_API_24
  4. Correr la app ionic con ionic cordova run android --emulator -l (el parámetro -l es opcional, implementa live reload si estamos desarrollando).

Listar, crear y correr emulador con scripts npm

  1. npm run sdk:install|uninstall --androidApiLevel=NUMERO_API_LEVEL: Instala/Desinstala un SDK de Android para ser usado en un emulador
  2. npm run avd:list:avd: Lista los emuladores actualmente instalados y disponibles para usar
  3. npm run avd:list:target: Lista las API level/versiones disponibles para instalar
  4. npm run avd:list:devices: Lista los dispositivos virtuales disponibles para instalar
  5. npm run avd:create --name=NOMBRE_SIMPLE_SIN_ESPACIOS --androidApiLevel=NUMERO_API_LEVEL --deviceName=NOMBRE_DEVICE:
  6. npm run avd:run --name=NOMBRE_SIMPLE_SIN_ESPACIOS:
  7. Podés consultar las API levels/versiones de Android

Ejemplo de uso:

# Bajar el SDK de API Level 25 (Android 7.1)
npm run sdk:install --androidApiLevel=25
# Crear un AVD "android7Andes" con la API level 25, modelo "Nexus 6"
npm run avd:create --name=android7Andes --androidApiLevel=25 --deviceName="Nexus 6"# Correr el AVD usando el nombre asignado
npm run avd:run --name=android7Andes
# Eliminar el AVD
npm run avd:delete --name=android7Andes

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

13 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ANDES

Mobile

App Mobile para ANDES

Notas

Como Angular y Angular-CLI son proyectos que están en constante actualización, recomendamos utilizar las versiones específicas detalladas en este documento

Requerimientos Android/Linux

Instalar Android Studio

  • Descargar Android Studio o usando el instalador de paquetes del sistema
  • Abrir Android Studio y seguir estos pasos:
    • Ir al menú File => Settings
    • Ir a System Settings => Android SDK
    • Seleccionar Android 10.0/API Level 29
    • Instalar (botón Apply)

Configurar Android SDK (Linux)

Agregar al PATH en el archivo ~/.bashrc

# ejemplo: export ANDROID_SDK_ROOT="/home/andrrr/Android/Sdk"export ANDROID_SDK_ROOT="/home/MI-USUARIO/RUTA/A/ANDROID/Sdk"
PATH=$PATH:$ANDROID_SDK_ROOT/tools PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools

Licencias

Para poder generar builds, es necesario aceptar ciertas licencias de uso. Para ello se debe navegar por consola a

/home/MI-USUARIO/Android/Sdk/tools/bin

y ejecutar el siguiente comando (aceptar todo):

./sdkmanager --licenses

Instalar JDK17 (Ubuntu/Mint/Debian)

Android/Cordova necesitan la versión 8, no funciona con versiones más nuevas. Por tanto, si hay una versión más nueva, primero se desinstala. También se puede instalar la versión de Oracle.

sudo apt update
sudo apt remove openjdk*
sudo apt install openjdk-8-jdk

Instalar y configurar Gradle

export PATH=$PATH:/home/MI-USUARIO/RUTA/A/GRADLE/gradle-X.Y.Z/bin

Instalación dentro del proyecto

cd mobile-app

Ionic 5

sudo npm install -g @ionic/cli@6.12.4

Native run para Ionic

sudo npm install -g native-run

Cordova y cordova-res (genera íconos y splash screen)

sudo npm install -g cordova@10.0.0 cordova-res

Instalar dependencias

npm install

Definir environment

cd src/environments
cp environment.ts.example environment.ts
cp environment.ts.example environment.dev.ts

Para desarrollo completar el archivo environment.dev.ts Para producción completar el archivo environment.ts

Compilar e iniciar la aplicación

  1. Generar resources (splash screen, íconos):
cordova-res
# Nota: se ejecuta sólo la primera vez, o cada vez que se cambie el diseño de íconos o splash screen
  1. Agregar platform y correr en dispositivo
ionic cordova platform add android (o ios)
ionic cordova run android (o ios) 

Uso del entorno

import{ENV}from'@app/env';
...
constbaseUrl=ENV.API_URL;

Generar release para Android APK (.apk) y Bundle (.aab)

  1. Deben estar presentes los archivos privados andes-key.jks, build-andes.json (antes era build.json) y google-services.json
  2. Se debe incrementar la versión en ionic.config.json según corresponda, por ejemplo:
    • Si es un fix se incrementa el último número 4.1.4 => 4.1.5
    • Si es una mejora se incrementa el segundo número 4.1.4 => 4.2.0
    • Si es un cambio importante en el entorno completo 4.1.4 => 5.0.0
    • Si es un cambio en una configuración, chore o lint, no incrementa versión
  3. Hacer commit de los cambios (así se puede incrementar la versión con npm)
  4. Con el directorio de trabajo limpio, ejecutar:
    1. Release Google Play Desarrollo:
      • Android APK: npm run build:demo:android:apk
      • Android Bundle (.aab): npm run build:demo:android:aab
    2. Release Google Play Producción:
      • Android APK: npm run build:prod:android:apk
      • Android Bundle (.aab): npm run build:prod:android:aab
  5. Al final del proceso se genera un archivo local —firmado y optimizado— con el nombre "andes{Prod|Demo}-v{X.Y.Z}.{apk|aab}" siendo X.Y.Z la versión configurada en ionic.config.json. Si un archivo con la misma versión ya existe, el proceso de build falla.
  6. La versión APK es para pruebas, la versión Bundle para Google Play.

Tests con Emulador

En algunas situaciones se requiere correr la app en un emulador con una versión de Android específica. El escenario típico es el de un usuario con una versión de Android (API level) diferente al target. A continuación se explica cómo correr un emulador desde la línea de comando para no tener que abrir Android Studio cada vez.

Correr la aplicación en un emulador

  1. Crear device con Android Studio, según la API level, resolución, etcétera que se necesite.
  2. Navegar por línea de comando a la carpeta del SDK Android/Sdk/tools/bin/ en la carpeta de usuario (la ubicación puede variar en cada sistema).
  3. Ejecutar ./avdmanager list avd para ver la lista de emuladores disponibles para usar. Si no hay ninguno es porque no hay ninguno creado. A continuación un ejemplo de resultado:
...
Name: 3.2_HVGA_slider_ADP1_API_24
Device: 3.2in HVGA slider (ADP1) (Generic)
Path: /home/andrrr/.android/avd/3.2_HVGA_slider_ADP1_API_24.avd
Target: Google APIs (Google Inc.)
Based on: Android 7.0 (Nougat) Tag/ABI: google_apis/x86
Skin: 320x480
Sdcard: 512 MB
  1. Copiar el nombre del avd, en este caso 3.2_HVGA_slider_ADP1_API_24
  2. Salir de la carpeta bin ejecutando cd ... Ahora estamos en Android/Sdk/tools/.
  3. Abrir el emulador con ./emulator -avd 3.2_HVGA_slider_ADP1_API_24
  4. Correr la app ionic con ionic cordova run android --emulator -l (el parámetro -l es opcional, implementa live reload si estamos desarrollando).

Listar, crear y correr emulador con scripts npm

  1. npm run sdk:install|uninstall --androidApiLevel=NUMERO_API_LEVEL: Instala/Desinstala un SDK de Android para ser usado en un emulador
  2. npm run avd:list:avd: Lista los emuladores actualmente instalados y disponibles para usar
  3. npm run avd:list:target: Lista las API level/versiones disponibles para instalar
  4. npm run avd:list:devices: Lista los dispositivos virtuales disponibles para instalar
  5. npm run avd:create --name=NOMBRE_SIMPLE_SIN_ESPACIOS --androidApiLevel=NUMERO_API_LEVEL --deviceName=NOMBRE_DEVICE:
  6. npm run avd:run --name=NOMBRE_SIMPLE_SIN_ESPACIOS:
  7. Podés consultar las API levels/versiones de Android

Ejemplo de uso:

# Bajar el SDK de API Level 25 (Android 7.1)
npm run sdk:install --androidApiLevel=25
# Crear un AVD "android7Andes" con la API level 25, modelo "Nexus 6"
npm run avd:create --name=android7Andes --androidApiLevel=25 --deviceName="Nexus 6"# Correr el AVD usando el nombre asignado
npm run avd:run --name=android7Andes
# Eliminar el AVD
npm run avd:delete --name=android7Andes

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

13 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

ANDES

Mobile

App Mobile para ANDES

Notas

Como Angular y Angular-CLI son proyectos que están en constante actualización, recomendamos utilizar las versiones específicas detalladas en este documento

Requerimientos Android/Linux

Instalar Android Studio

  • Descargar Android Studio o usando el instalador de paquetes del sistema
  • Abrir Android Studio y seguir estos pasos:
    • Ir al menú File => Settings
    • Ir a System Settings => Android SDK
    • Seleccionar Android 10.0/API Level 29
    • Instalar (botón Apply)

Configurar Android SDK (Linux)

Agregar al PATH en el archivo ~/.bashrc

# ejemplo: export ANDROID_SDK_ROOT="/home/andrrr/Android/Sdk"export ANDROID_SDK_ROOT="/home/MI-USUARIO/RUTA/A/ANDROID/Sdk"
PATH=$PATH:$ANDROID_SDK_ROOT/tools PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools

Licencias

Para poder generar builds, es necesario aceptar ciertas licencias de uso. Para ello se debe navegar por consola a

/home/MI-USUARIO/Android/Sdk/tools/bin

y ejecutar el siguiente comando (aceptar todo):

./sdkmanager --licenses

Instalar JDK17 (Ubuntu/Mint/Debian)

Android/Cordova necesitan la versión 8, no funciona con versiones más nuevas. Por tanto, si hay una versión más nueva, primero se desinstala. También se puede instalar la versión de Oracle.

sudo apt update
sudo apt remove openjdk*
sudo apt install openjdk-8-jdk

Instalar y configurar Gradle

export PATH=$PATH:/home/MI-USUARIO/RUTA/A/GRADLE/gradle-X.Y.Z/bin

Instalación dentro del proyecto

cd mobile-app

Ionic 5

sudo npm install -g @ionic/cli@6.12.4

Native run para Ionic

sudo npm install -g native-run

Cordova y cordova-res (genera íconos y splash screen)

sudo npm install -g cordova@10.0.0 cordova-res

Instalar dependencias

npm install

Definir environment

cd src/environments
cp environment.ts.example environment.ts
cp environment.ts.example environment.dev.ts

Para desarrollo completar el archivo environment.dev.ts Para producción completar el archivo environment.ts

Compilar e iniciar la aplicación

  1. Generar resources (splash screen, íconos):
cordova-res
# Nota: se ejecuta sólo la primera vez, o cada vez que se cambie el diseño de íconos o splash screen
  1. Agregar platform y correr en dispositivo
ionic cordova platform add android (o ios)
ionic cordova run android (o ios) 

Uso del entorno

import{ENV}from'@app/env';
...
constbaseUrl=ENV.API_URL;

Generar release para Android APK (.apk) y Bundle (.aab)

  1. Deben estar presentes los archivos privados andes-key.jks, build-andes.json (antes era build.json) y google-services.json
  2. Se debe incrementar la versión en ionic.config.json según corresponda, por ejemplo:
    • Si es un fix se incrementa el último número 4.1.4 => 4.1.5
    • Si es una mejora se incrementa el segundo número 4.1.4 => 4.2.0
    • Si es un cambio importante en el entorno completo 4.1.4 => 5.0.0
    • Si es un cambio en una configuración, chore o lint, no incrementa versión
  3. Hacer commit de los cambios (así se puede incrementar la versión con npm)
  4. Con el directorio de trabajo limpio, ejecutar:
    1. Release Google Play Desarrollo:
      • Android APK: npm run build:demo:android:apk
      • Android Bundle (.aab): npm run build:demo:android:aab
    2. Release Google Play Producción:
      • Android APK: npm run build:prod:android:apk
      • Android Bundle (.aab): npm run build:prod:android:aab
  5. Al final del proceso se genera un archivo local —firmado y optimizado— con el nombre "andes{Prod|Demo}-v{X.Y.Z}.{apk|aab}" siendo X.Y.Z la versión configurada en ionic.config.json. Si un archivo con la misma versión ya existe, el proceso de build falla.
  6. La versión APK es para pruebas, la versión Bundle para Google Play.

Tests con Emulador

En algunas situaciones se requiere correr la app en un emulador con una versión de Android específica. El escenario típico es el de un usuario con una versión de Android (API level) diferente al target. A continuación se explica cómo correr un emulador desde la línea de comando para no tener que abrir Android Studio cada vez.

Correr la aplicación en un emulador

  1. Crear device con Android Studio, según la API level, resolución, etcétera que se necesite.
  2. Navegar por línea de comando a la carpeta del SDK Android/Sdk/tools/bin/ en la carpeta de usuario (la ubicación puede variar en cada sistema).
  3. Ejecutar ./avdmanager list avd para ver la lista de emuladores disponibles para usar. Si no hay ninguno es porque no hay ninguno creado. A continuación un ejemplo de resultado:
...
Name: 3.2_HVGA_slider_ADP1_API_24
Device: 3.2in HVGA slider (ADP1) (Generic)
Path: /home/andrrr/.android/avd/3.2_HVGA_slider_ADP1_API_24.avd
Target: Google APIs (Google Inc.)
Based on: Android 7.0 (Nougat) Tag/ABI: google_apis/x86
Skin: 320x480
Sdcard: 512 MB
  1. Copiar el nombre del avd, en este caso 3.2_HVGA_slider_ADP1_API_24
  2. Salir de la carpeta bin ejecutando cd ... Ahora estamos en Android/Sdk/tools/.
  3. Abrir el emulador con ./emulator -avd 3.2_HVGA_slider_ADP1_API_24
  4. Correr la app ionic con ionic cordova run android --emulator -l (el parámetro -l es opcional, implementa live reload si estamos desarrollando).

Listar, crear y correr emulador con scripts npm

  1. npm run sdk:install|uninstall --androidApiLevel=NUMERO_API_LEVEL: Instala/Desinstala un SDK de Android para ser usado en un emulador
  2. npm run avd:list:avd: Lista los emuladores actualmente instalados y disponibles para usar
  3. npm run avd:list:target: Lista las API level/versiones disponibles para instalar
  4. npm run avd:list:devices: Lista los dispositivos virtuales disponibles para instalar
  5. npm run avd:create --name=NOMBRE_SIMPLE_SIN_ESPACIOS --androidApiLevel=NUMERO_API_LEVEL --deviceName=NOMBRE_DEVICE:
  6. npm run avd:run --name=NOMBRE_SIMPLE_SIN_ESPACIOS:
  7. Podés consultar las API levels/versiones de Android

Ejemplo de uso:

# Bajar el SDK de API Level 25 (Android 7.1)
npm run sdk:install --androidApiLevel=25
# Crear un AVD "android7Andes" con la API level 25, modelo "Nexus 6"
npm run avd:create --name=android7Andes --androidApiLevel=25 --deviceName="Nexus 6"# Correr el AVD usando el nombre asignado
npm run avd:run --name=android7Andes
# Eliminar el AVD
npm run avd:delete --name=android7Andes

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

13 watching

Forks

Releases

Packages

Used by

Contributors

Languages