Android

1 mar, 2017

Como controlar um telefone ou tablet Android usando PHP com app Termux

Publicidade

O aplicativo Termux permite a execução de muitos aplicativos Linux bem conhecidos em um telefone ou tablet Android ou qualquer outro tipo de dispositivo.

Isso permite executar o PHP a partir do shell Termux como um script de console ou como um servidor Web.

Leia este artigo para aprender a executar scripts PHP dentro de um dispositivo Android e expor o PHP algumas funcionalidades do Android usando o aplicativo Termux.

O que é o PHP Termux API?

O App Termux é um aplicativo Android útil que nos permite usar um tipo de console Linux dentro de nossos dispositivos Android, como telefones e tablets.

Ele precisa do app add-on Termux: API para ser instalado, para que ele possa usar programas de linha de comando que expõem as funções do Android ao sistema Termux. Dentro do Termux, podemos acessar redes (Wi-Fi e Internet móvel).

O Termux suporta o gerenciamento de pacotes usando arquivos .deb e a ferramenta apt. Em seu próprio repositório de pacotes, existem muitas ferramentas como imagemagick, um compilador de linguagem c, intérprete PHP 7.1, lighttpd etc. A compilação real suporta somente plataformas ARM e x86, portanto, não é possível instalar em MIPS.

Então, agora temos o PHP 7.1 no smartphone também… Pronto para começar o desenvolvimento de novas aplicações? Precisamos acessar alguns dos recursos do Android para ativar nossos projetos. O Termux:API adiciona algumas ferramentas de linha de comando para lidar; uma classe wrapper é a única que precisamos para tirar proveito disso.

Acessando recursos do dispositivo Android usando a API do Termux

O pacote da API do PHP Termux fornece métodos para acessar as seguintes funcionalidades expostas pelo app Termux API.

  • Estado da bateria
  • Informações sobre a câmera
  • Foto câmera
  • Clipboard Get
  • Clipboard Set
  • Lista de contatos
  • Download do arquivo com o Android Download Manager
  • Localização via GPS, rede móvel ou Wi-Fi
  • Notificação
  • Abrir URL com navegador da Web padrão
  • Compartilhar arquivo com ações do Android
  • Caixa de entrada SMS lida
  • Enviar SMS
  • Informações do dispositivo de telefonia
  • Toast show sobre a tela
  • Motores TTS no Android
  • TTS Speak
  • Vibrar o telefone
  • Informações de conexão Wi-Fi
  • Informação de escaneamento Wi-Fi

Etapas para ter a configuração completa

  • Instale e configure um teclado mais genérico que você conheça e use (como o teclado do Hacker)
  • Instale e configure o servidor FTP que você conheça e use (como FTP Server (demo))
  • Instale Termux e add-on Termux:API de alguns repositórios (F-Droid ou Play Store)
  • Dentro do console do Termux, digite:
apt update
apt upgrade
apt install termux-api php
mkdir /sdcard/php

Acessando o dispositivo usando um teclado

Precisamos digitar em um emulador de terminal capaz e que exija ctrl-c, então eu recomendo instalar um teclado com ele (como o teclado do Hacker).

Transferir arquivos via FTP

Para transferir scripts PHP e outros arquivos facilmente entre a nossa estação de trabalho e os dispositivos Android, um servidor FTP é uma exigência.

É fácil configurar seu ambiente de desktop para usar servidores LAN FTP. Você pode instalar um cliente FTP no sistema ou mesmo usar dentro do Mozilla Firefox (extensão FireFTP). No Windows, digite na barra de endereços do Explorer, a URL do servidor, como:

ftp://user@ipaddress:port/

O mesmo pode ser feito para outros ambientes desktop de sistemas operacionais, como Nautilus para Linux etc.

Executando PHP a partir do Termux em um loop infinito

Para o polling interminável de algumas condições. Dentro do script, o loop deve ter uma chamada de sleep (segundos), para evitar monopolizar o processador.

No Termux, digite:

php endlessloop.php

Executando PHP como um servidor Web a partir do Termux

Você pode executar o PHP e fazê-lo funcionar como um servidor Web que executa seus scripts PHP no lado do seu diretório raiz do projeto armazenado em seu sistema de arquivos de memória do dispositivo.

No Termux, digite para iniciar o desenvolvimento do servidor Web embutido no PHP.

php -S address:port -t /sdcard/php/rootdirectory/

Se você usar um endereço que é 0.0.0.0, o servidor escuta qualquer um dos endereços IP da rede do dispositivo. Se o endereço for 127.0.0.1, o servidor só escuta as conexões locais (dentro do dispositivo).

A porta deve ser qualquer número acima de 1024. O rootdirectory é o caminho base que serve como diretório web raiz com todos os recursos, incluindo JavaScript, imagens, stylesheets CSS, arquivos HTML e scripts PHP.

Usando a classe API do PHP Termux

A classe API Termux do PHP fornece wrappers para muitos serviços do aplicativo Termux:API. É muito simples de usar, como você pode ver aqui.

$termux = new termuxapi();
echo $termux->location();

Problemas do Termux:API

Algumas funções do Termux:API são duradouras e intensivas em recursos, como a verificação de caixa de entrada de SMS, lista de contatos e localização.

Como os programas Termux são chamados com shell_exec (), seu comportamento síncrono pode atrasar seriamente a abordagem do servidor Web. Considere fazer uma chamada AJAX para os métodos a fim de ocultar esse problema.

Conclusão

Termux é um bom aplicativo Android que facilita a execução do PHP ou de outros programas normalmente disponíveis em distribuições Linux.

A possibilidade de executar o PHP como um script de linha de comando ou como um servidor Web abre uma miríade de possibilidades para executar aplicativos agradáveis usando código PHP como outras aplicações nativas do Android.

Se você gostou deste artigo, compartilhe-o com seus amigos desenvolvedores. Se você tiver dúvidas ou sugestões, publique um comentário aqui.

***

Luis Martinez Ulloa faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: https://www.phpclasses.org/blog/package/10192/post/1-Tutorial-on-How-to-Control-an-Android-Phone-or-Tablet-using-PHP-with-Termux-App.html.