Configuração e Execução de um Aplicativo Flutter no OpenHarmony em Dispositivo Físico

Inicialização do Repositório de Código

Após a configuração inicial do ambiente e das ferramentas, a prática recomendada é isolar o código da aplicação do repositório principal do motor (upstream). Essa abordagem garante que o projeto upstream não seja corrompido por código de aplicação e facilita o desenvolvimento de plugins, a criação de exemplos e futuras contribuições open source.

Criação do Repositório

Ao inicializar um novo repositório Git para o projeto, duas configurações iniciais são fundamentais:

  • Arquivo .gitignore: Selecionar o template para Dart é essencial para evitar o versionamento de artefatos de compilação, diretórios de cache e configurações locais.
  • Licença: O Apache License 2.0 é altamente recomendado por ser flexível, incluir cláusulas explícitas de patentes e restringir o uso não autorizado de marcas registradas.

Clonagem via SSH

Para clonar o repositório de forma segura, utilize o protocolo SSH, garantindo que a chave privada esteja carregada no agente SSH:

ssh-add ~/.ssh/minha_chave_openharmony
git clone git@gitcode.com:desenvolvedor/projeto_flutter_oh.git

Geração do Projeto Flutter

Inicialização da Estrutura

Com o repositório clonado, o próximo passo é gerar a estrutura base do Flutter:

flutter create aplicacao_oh_demo

Este comando automatiza a criação da estrutura de diretórios, resolve as dependências do Dart e gera o arquivo de entrada padrão. A conclusão bem-sucedida desta etapa confirma que o toolchain do Flutter está operacional.

Compilação e Resolução de Problemas

Ausência do Java Runtime

Durante a primeira tentativa de compilação para o OpenHarmony, o sistema de build (hvigor) pode falhar com um erro crítico:

> hvigor ERROR: Falha na tarefa :entry:default@PackageHap.
> hvigor ERROR: Execução das ferramentas falhou.
Não foi possível localizar um Java Runtime.
Por favor, verifique a instalação do JDK.

* Tente:
> Execute com a opção --stacktrace para obter o stack trace.

O ecossistema de ferramentas do OpenHarmony depende estritamente do Java. Diferente de outras plataformas, essa dependência nem sempre é sinalizada claramente pelo flutter doctor. A instalação e configuração correta do JDK no sistema são obrigatórias.

Configuração de Assinatura do HAP

Após resolver o problema do Java, um segundo obstáculo comum aparece: a ausência de assinatura de depuração. O OpenHarmony exige que todos os pacotes HAP sejam assinados, mesmo em modo de debug. O Fluter CLI não executa essa etapa automaticamente.

Para resolver, é necessário abrir o projeto no DevEco Studio, navegar até File -> Project Structure -> Signing Configs e habilitar a geração automática de assinatura.

Execução em Dispositivo Físico

Com o ambiente Java configurado e a assinatura de depuração gerada, o deploy em um dispositivo físico pode ser executado diretamente pela CLI:

flutter run --debug -d ID_DISPOSITIVO_OH_987654
Launching lib/main.dart on ID_DISPOSITIVO_OH_987654 in debug mode...
Iniciando compilação do hap...
Executando tarefa Hvigor assembleHap...                                 12.0s
✓ Built build/ohos/hap/entry-default-signed.hap.
Instalando hap. bundleName: com.example.aplicacao_oh_demo

A execução bem-sucedida deste comando valida a integração completa entre o Fluter e o OpenHarmony, confirmando que a cadeia de compilação, assinatura e instalação do pacote HAP no dispositivo físico está totalmente funcional.

Tags: Flutter OpenHarmony DevEco Studio Hvigor HAP

Publicado em 6-16 18:31 por Thomas