NativeScript / android-runtime

Build Status

contém o código fonte para a execução Android do NativeScript. NativeScript é um framework que permite aos desenvolvedores escrever aplicativos móveis verdadeiramente nativos para Android e iOS usando JavaScript e CSS. Cada plataforma móvel tem seu próprio ecossistema e oferece ferramentas de desenvolvimento completamente diferentes e linguagem(s) – Java para Android e Objetivo C (Swift) para iOS. A fim de traduzir o código JavaScript para as APIs nativas correspondentes, algum tipo de mecanismo proxy é necessário. É exatamente por isso que as partes” Runtime ” do NativeScript são responsáveis. O tempo de execução do Android pode ser pensado como” a ponte ” entre o JavaScript e o Android mundos. Uma aplicação NativeScript para Android é um pacote nativo padrão (apk) que além dos arquivos JavaScript incorporou o tempo de execução também.

  • Principais Projetos
  • Auxiliar de Projetos
  • Diagrama de Arquitetura
  • Build pré-Requisitos
  • Como construir
  • Como executar testes
  • Variados
  • Obter Ajuda

Adicionais docs

Várias páginas Wiki descrever alguns tópicos sobre o tempo de execução aqui

Principais Projetos

O repo está estruturado nos seguintes projetos (ordenados por dependências):

  • android-metadados-gerador – gera os metadados necessários para o Android Runtime.
  • android-binding-generator-permite que tipos Android & sejam criados dinamicamente no tempo de execução. Necessário pela rotina extend.
  • android-runtime – contains the core logic behind the Nativescript’s Android Runtime. Este projeto contém código C++ nativo e precisa do Android NDK para construir corretamente.
  • android-runtime-testapp – this is a vanilla Android Application, which contains the tests for the runtime project.

Helper Projects

  • android-static-binding – generator-build tool that generates based on the user’s javascript code.
  • project-template – this is an empty placeholder Android Application project, used by the NativeScript CLI when building an Android project.

Diagrama de arquitectura

a arquitectura NativeScript Android Runtime pode ser resumida no diagrama seguinte.

Android Runtime diagram

para mais detalhes sobre como funciona, leia a documentação.

Build pré-requisitos

a seguir estão os pré-requisitos mínimos para construir o pacote de tempo de execução.

  • Instale o mais recente Estúdio Android.
  • a Partir do SDK Manager (Android Studio -> Ferramentas> Android> SDK Manager) instalar os seguintes componentes:
    • Android API de Nível 23, 24, 25, 26, 27
    • o Android NDK
    • Android Apoio Repositório
    • Download de Ferramentas de Compilação
    • CMake
    • LLDB
  • Clone desse repositório, bem como a submódulos: git clone --recurse-submodules [email protected]:NativeScript/android-runtime.git

Working with the Runtime in Android Studio

  • Open the test-app folder in Android Studio. Ele representa um projeto Android válido e você é capaz de construir e executar uma aplicação de teste trabalhando com o tempo de execução a partir da fonte.

Nota: você pode precisar executar o Android Studio a partir da linha de comando, a fim de preservar as variáveis de ambiente. Isto é no caso de você obter erros como “missing npm” se iniciar o estúdio da forma usual.

Como Construir

  • Executar o comando

    Windows:

    gradlew

    Mac/Linux:

    ./gradlew
  • O processo de compilação inclui a construção do pacote de tempo de execução (tanto otimizado e com encapados v8 tabela de símbolos), bem como todas as ferramentas suplementares utilizado para o android constrói: metadados-gerador, de ligação ao gerador de metadados-gerador de estática, ligação-gerador

  • O resultado da compilação será na pasta dist.

    Note: para cortar o tempo de construção em metade e pacote apenas a versão otimizada (despojada)do pacote de execução comentar as tarefas’.generateRuntimeAar.executar () ‘ na compilação.guião de gradle.

como executar os testes

  • vá para a aplicação de testes da subpasta depois de ter construído o tempo de execução.

  • inicia um emulador ou liga um dispositivo.

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

  • Executar o comando

gradlew runtest

Contribuir

Nós amamos PRs! Confira as Diretrizes contributivas. Se você quiser contribuir, mas você não tem certeza por onde começar – look para questões rotuladas help wanted.

Misc

  • Implementing additional Chrome DevTools protocol Domains

Get Help

Please, use GitHub issues strictly for reporting bugs or requesting features. Para perguntas gerais e suporte, verifique o fluxo de pilha ou Pergunte aos nossos especialistas em NativeScript community Slack channel.