NativeScript / android-runtime
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.
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.