Espelha e controla dispositivos Android pelo computador via USB ou TCP/IP, sem root nem app instalado no dispositivo.
facebookincubator/fbjni
Uma biblioteca auxiliar em C++ que simplifica chamadas a código Java a partir de código nativo usando a Java Native Interface (JNI).
- Estrelas
- 337
- Forks
- 53
- Issues abertas
- 17
- Último commit
- há 8 horas
O que é?
A fbjni envolve a Java Native Interface de baixo nível com helpers em C++, permitindo que o código nativo chame métodos, campos e construtores Java com menos código repetitivo. Ela gerencia automaticamente o ciclo de vida de referências locais e globais do JNI e traduz exceções entre Java e C++ nos dois sentidos, para que os desenvolvedores não precisem verificar o estado das exceções após cada chamada.
A biblioteca também cuida da conversão de tipos. Os descritores de métodos são inferidos a partir das assinaturas em C++, e tipos comuns, como std::string, são convertidos para e de tipos Java. Classes Java são mapeadas para structs em C++ que herdam de um template JavaClass e declaram seu descritor Java.
Os helpers foram criados para dar suporte a código móvel multiplataforma no Android, mas o projeto não tem dependências específicas do Android e funciona com qualquer Java VM compatível com JNI. O projeto inclui documentação sobre a configuração de builds para Android, uma referência rápida dos recursos e os motivos para usar um wrapper de JNI.
Recursos principais
- 01Gerenciamento automático de referências locais e globais do JNI.
- 02Tradução de exceções entre Java e C++ nos dois sentidos.
- 03Descritores de métodos inferidos a partir das assinaturas de funções em C++.
- 04Conversão automática entre std::string e strings Java.
- 05Mapeamento de classes Java para tipos C++ por meio de um template JavaClass.
Casos de uso
- Chamar APIs Java a partir de uma base de código C++ compartilhada em um app Android.
- Incorporar módulos nativos em C++ a qualquer aplicação JVM que use JNI.
- Reduzir a contagem manual de referências e as verificações de exceções em código JNI existente.
Início rápido
- 1
Leia a referência rápida em docs/quickref.md para ver exemplos de uso que você pode copiar e colar
- 2
Siga o guia de configuração da compilação do Android em docs/android_setup.md
Em coleções
Tópicos
Perguntas frequentes
- O que é fbjni?
- Uma biblioteca auxiliar em C++ que simplifica chamadas a código Java a partir de código nativo usando a Java Native Interface (JNI). A fbjni envolve a Java Native Interface de baixo nível com helpers em C++, permitindo que o código nativo chame métodos, campos e construtores Java com menos código repetitivo. Ela gerencia automaticamente o ciclo de vida de referências locais e globais do JNI e traduz exceções entre Java e C++ nos dois sentidos, para que os desenvolvedores não precisem verificar o estado das exceções após cada chamada.
- fbjni é gratuito? Qual é a licença?
- fbjni é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- fbjni ainda é mantido?
- Manutenção ativa. O último commit de fbjni foi em 22 de out. de 2026.
- Para que posso usar fbjni?
- Chamar APIs Java a partir de uma base de código C++ compartilhada em um app Android. Incorporar módulos nativos em C++ a qualquer aplicação JVM que use JNI. Reduzir a contagem manual de referências e as verificações de exceções em código JNI existente.
- Como instalar fbjni?
- Leia a referência rápida em docs/quickref.md para ver exemplos de uso que você pode copiar e colar Siga o guia de configuração da compilação do Android em docs/android_setup.md
- Onde consigo fbjni?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/facebookincubator/fbjni
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca de áudio em C para reprodução e captura, distribuída em um único arquivo-fonte e sem dependências externas.
Biblioteca multiplataforma de filtros de imagem e vídeo em C++ que usa OpenGL/ES e oferece efeitos de beleza e baseados em rostos.
Framework Java multiplataforma para desenvolvimento de jogos, baseado em OpenGL ES, para desktop, Android, web e iOS.
SDK open source do Google para criar apps nativos para dispositivos móveis, web e desktop a partir de uma única base de código Dart.
Um framework para criar apps nativos para Android e iOS com React, renderizando a interface em JavaScript com componentes nativos da plataforma.