NativeScript / android-runtime

Estado de compilación

Contiene el código fuente para el tiempo de ejecución de Android de NativeScript. NativeScript es un framework que permite a los desarrolladores escribir aplicaciones móviles verdaderamente nativas para Android e iOS utilizando JavaScript y CSS. Cada plataforma móvil tiene su propio ecosistema y ofrece herramientas de desarrollo y lenguajes completamente diferentes: Java para Android y Objective C (Swift) para iOS. Para traducir el código JavaScript a las API nativas correspondientes, se necesita algún tipo de mecanismo de proxy. Esto es exactamente de lo que son responsables las partes de «Tiempo de ejecución» de NativeScript. El tiempo de ejecución de Android puede considerarse como «El Puente» entre los mundos JavaScript y Android. Una aplicación NativeScript para Android es un paquete nativo estándar (apk) que, además de los archivos JavaScript, también integra el tiempo de ejecución.

  • Proyectos principales
  • Proyectos auxiliares
  • Diagrama de arquitectura
  • Requisitos previos de compilación
  • Cómo crear
  • Cómo ejecutar pruebas
  • Misc
  • Obtener ayuda

Documentos adicionales

Varias páginas Wiki describen algunos temas internos sobre el tiempo de ejecución aquí

Proyectos principales

El repositorio está estructurado en los siguientes proyectos (ordenados por dependencias):

  • android-metadata-generator: genera los metadatos necesarios para el tiempo de ejecución de Android.
  • generador de enlaces para Android: permite crear dinámicamente tipos de Android Java & en tiempo de ejecución. Necesario para la rutina extend.
  • android-tiempo de ejecución: contiene la lógica principal detrás del tiempo de ejecución de Android de NativeScript. Este proyecto contiene código nativo de C++ y necesita el NDK de Android para compilar correctamente.
  • android-runtime-testapp: esta es una aplicación Android de vainilla, que contiene las pruebas para el proyecto de tiempo de ejecución.

Proyectos auxiliares

  • android-generador de enlaces estáticos-herramienta de compilación que genera enlaces basados en el código javascript del usuario.
  • plantilla de proyecto: se trata de un proyecto de aplicación Android con marcador de posición vacío, utilizado por la CLI de NativeScript al crear un proyecto de Android.

Diagrama de arquitectura

La arquitectura de tiempo de ejecución de Android de NativeScript se puede resumir en el siguiente diagrama.

 Diagrama de tiempo de ejecución de Android

Para obtener más detalles sobre cómo funciona, lea la documentación.

Requisitos previos de compilación

Los siguientes son los requisitos previos mínimos para compilar el paquete de tiempo de ejecución.

  • Instale el último Android Studio.
  • Desde el Administrador de SDK (Android Studio -> Herramientas -> Android -> Administrador de SDK) instale los siguientes componentes:
    • Nivel de API de Android 23, 24, 25, 26, 27
    • Android NDK
    • Repositorio de soporte para Android
    • Descargar herramientas de compilación
    • CMake
    • LLDB
  • Clona este repositorio, así como los submódulos: git clone --recurse-submodules [email protected]:NativeScript/android-runtime.git

Trabajar con el tiempo de ejecución en Android Studio

  • Abra la carpeta de la aplicación de prueba en Android Studio. Representa un proyecto de Android válido y puede crear y ejecutar una aplicación de prueba que funcione con el tiempo de ejecución desde el origen.

Nota: Es posible que deba ejecutar Android Studio desde la línea de comandos para preservar las variables de entorno. Esto es en caso de que tenga errores como «falta de npm» si inicia el estudio de la manera habitual.

Cómo Construir

  • Ejecutar comando

    Windows:

    gradlew

    Mac / Linux:

    ./gradlew
  • El proceso de compilación incluye la compilación del paquete de tiempo de ejecución (optimizado y con una tabla de símbolos v8 sin interrupción), así como todas las herramientas complementarias utilizadas para las compilaciones de Android: generador de metadatos, generador de enlaces, generador de metadatos, generador de enlaces estáticos

  • El resultado de la compilación estará en la carpeta dist.

    Note: Para reducir el tiempo de compilación a la mitad y empaquetar solo la versión optimizada (despojada) del paquete de tiempo de ejecución comenta las tareas.Generadorun tiempo.execute () ‘ en la compilación.guión de Gradle.

Cómo Realizar Pruebas

  • Vaya a la subcarpeta test-app después de crear el tiempo de ejecución.

  • Inicie un emulador o conecte un dispositivo.

    Note: Keep in mind the device or emulator needs to have an sdcard mounted.

  • Ejecutar el comando

gradlew runtest

Contribuir

Nos encanta Rp! Echa un vistazo a las pautas para contribuir. Si desea contribuir, pero no está seguro de por dónde empezar, busque problemas etiquetados como help wanted.

Misc

  • Implementar dominios de protocolo adicionales de Chrome DevTools

Obtener ayuda

Por favor, use problemas de github estrictamente para informar de errores o solicitar funciones. Para preguntas generales y asistencia, consulta Stack Overflow o pregunta a nuestros expertos en el canal de Slack de la comunidad de NativeScript.