Python com SL4A - A camada de script do Android
O Android tornou-se um representante notável do que o Linux é capaz. Outro representante de peso é o Python, uma linguagem apaixonante! Neste artigo, pretendo explicar como fazer conexão com dispositivo Android e programar em Python,
remotamente ao dispositivo.
remotamente ao dispositivo.
Configurando o dispositivo Android
Primeiramente, é necessário ter o SDK do Android instalado.
Não entrarei em detalhes sobre a instalação do SDK, visto que já existe um artigo tratando do assunto:
É importante observar se a opção "Android SDK Plataform Tools" está marcada para a instalação.
Configurações → Aplicativos → Modo de depuração
Em versões mais novas: Configurações → Opções de desenvolvedor Agora vamos ao que interessa.
Logado como root, crie o arquivo: /etc/udev/rules.d/51-android.rules
E adicione a linha:
Nesse caso, devemos atentar que: {idVendor}="1004", refere-se a um dispositivo LG, para cada marca deve-se usar um "idVendor" diferente:
Companhia USB Vendor ID:
# chmod a+r /etc/udev/rules.d/51-android.rules
Para conferir se tudo funcionou bem até aqui, vamos a um pequeno teste:
# cd android-sdks/plataform-tools
# ./adb devices
Se tudo ocorreu bem, a saída deve ser algo semelhante a isso:
# ./adb shell
Como o Android roda sobre o Kernel Linux, grande parte dos comandos funcionará aqui, esse pequeno shell pode salvar seu aparelho em algumas ocasiões.
Com ele é possível salvar alguns aparelhos que iniciam e ficam parados em uma tela preta, mas isso é assunto para outro dia.
Agora, com o Eclipse aberto, podemos usar a opção de DDMS. Podemos interagir com o dispositivo, enviado arquivos, fazer screenshot e o principal: testar um aplicativo Android diretamente junto ao dispositivo.
Não entrarei em detalhes sobre a instalação do SDK, visto que já existe um artigo tratando do assunto:
É importante observar se a opção "Android SDK Plataform Tools" está marcada para a instalação.
Instalação
No dispositivo, ative a opção de depuração, em versões mais antigas, esta opção se encontra em:Configurações → Aplicativos → Modo de depuração
Em versões mais novas: Configurações → Opções de desenvolvedor Agora vamos ao que interessa.
Logado como root, crie o arquivo: /etc/udev/rules.d/51-android.rules
E adicione a linha:
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"
Nesse caso, devemos atentar que: {idVendor}="1004", refere-se a um dispositivo LG, para cada marca deve-se usar um "idVendor" diferente:
Companhia USB Vendor ID:
Acer 0502 ASUS 0b05 Dell 413c Foxconn 0489 Fujitsu 04c5 Fujitsu Toshiba 04c5 Garmin-Asus 091e Google 18d1 Hisense 109b HTC 0bb4 Huawei 12d1 K-Touch 24e3 KT Tech 2116 Kyocera 0482 Lenovo 17ef LG 1004 Motorola 22b8 MTK 0e8d NEC 0409 Nook 2080 Nvidia 0955 OTGV 2257 Pantech 10a9 Pegatron 1d4d Philips 0471 PMC-Sierra 04da Qualcomm 05c6 SK Telesys 1f53 Samsung 04e8 Sharp 04dd Sony 054c Sony Ericsson 0fce Teleepoch 2340 Toshiba 0930 ZTE 19d2Execute o comando para permissão de leitura:
# chmod a+r /etc/udev/rules.d/51-android.rules
Para conferir se tudo funcionou bem até aqui, vamos a um pequeno teste:
# cd android-sdks/plataform-tools
# ./adb devices
Se tudo ocorreu bem, a saída deve ser algo semelhante a isso:
List of devices attached LGOTMS876643 deviceAgora que chegamos até aqui, podemos dar uma olhada no shell do Android com o comando:
# ./adb shell
Como o Android roda sobre o Kernel Linux, grande parte dos comandos funcionará aqui, esse pequeno shell pode salvar seu aparelho em algumas ocasiões.
Com ele é possível salvar alguns aparelhos que iniciam e ficam parados em uma tela preta, mas isso é assunto para outro dia.
Agora, com o Eclipse aberto, podemos usar a opção de DDMS. Podemos interagir com o dispositivo, enviado arquivos, fazer screenshot e o principal: testar um aplicativo Android diretamente junto ao dispositivo.
Parabéns.