O Cordova é um projeto open source da Apache, criado inicialmente pela Adobe com o nome de PhoneGap e depois liberado para a comunidade de desenvolvedores. Atualmente existe o projeto PhoneGap também com código aberto, onde sua base é o Cordova porém com alguns recursos a mais. O Cordova é uma API que permitem aos desenvoldedores de Aplicativos mobile acessarem recursos do Aparelho, utilizando Javascript.
O Cordova é disponível para as plataformas:
Para iniciarmos com o tutorial, vamos fazer o download da lib do cordova e atualizar o repositorio local usando o comando abaixo:
mvn install:install-file -DgroupId=org.apache.cordova -DartifactId=cordova -Dversion=2.8.0 -Dfile=cordova-2.8.0.jar -Dpackaging=jar
Estamos usando a versão 2.8.0 (versão mais atual) do Cordova. No final dessa página você encontra um link de download, quando você descompactar o arquivo, você vai encontrar uma pasta lib, copie o arquivo para pasta anterior, onde está o pom.xml. e execute o comando acima que será executado corretamente.
Precisamos agora, baixar o Android SDK para que possamos configurar o plugin, vamos utilizar a última versão disponivel em: http://developer.android.com/sdk/index.html.
Assim que você fizer o download, descompacte o arquivo no local desejado (nesse exemplo criei uma pasta C:\android, onde descompactei o conteúdo do arquivo), pois precisaremos dessa informação para realizar a configurar do plugin do Android.
Agora com o ambiente preparado, já podemos configurar o plugin no pom.xml do projeto, mas antes temos mais uma coisa a fazer...
Para que o ambiente esteje finalmente pronto para trabalharmos, precisamos configurar um Dispositivo Virtual, caso contrário não será possível iniciar o emulador e efetuar os testes. Para isso acessar a pasta do SDK/tools (Nesse exempplo, C:\android\adt-bundle-windows-x86-20130522\tools) e executar o comando:
android avd
Será carregada a tela do Gerenciador de Dispositivos, crie um dispositivo e coloque o nome de Android_4_2_2.
Feito isso, podemos iniciar o projeto, vamos ver como configurar o plugin do maven para Android e como criamos uma aplicação utilizando Javascript que acessar os recursos do celular.
Primeiramente como vamos trabalhar com Projeto Android, o empacotamento da aplicação é em formato apk, para isso configuramos no pom.xml o seguinte: <packaging>apk</packaging>.
Próximo passo é aconfiguração do Plugin, segue abaixo um exemplo:
<plugins> ... <plugin> <groupId>com.jayway.maven.plugins.android.generation2</groupId> <artifactId>android-maven-plugin</artifactId> <version>3.6.0</version> <configuration> <sdk> <path>C:\android\adt-bundle-windows-x86-20130522\sdk</path> <platform>17</platform> </sdk> <emulator> <avd>android_4_2_2</avd> <wait>45000</wait> </emulator> <deleteConflictingFiles>true</deleteConflictingFiles> <undeployBeforeDeploy>true</undeployBeforeDeploy> </configuration> <extensions>true</extensions> </plugin> </plugins>
Abaixo vamos ver os passos necessários para compilar e executar o programa no emulador
Compilando e gerando o apk.
mvn install android:apk
Assim que o pacote for gerado, o próximo passo é iniciar o emulador com o devide que configuramos (Android_4_2_2), para isso digite:
mvn android:emulator-start
Se olharmos dentro da configuração do plugin, temos a configuração do emulador também
<emulator> <avd>android_4_2_2</avd> <wait>45000</wait> </emulator>
A Tag avd representa o dispositivo que configuramos no Gerenciador, a Tag wait é um timeout para que o emulador seja iniciado, se nesse tempo ele não estiver carregado, é gerada uma exception e o start é interrompido.
Assim que o emulator estiver iniciado, já podemos fazer o deploy da aplicação e executar a mesma no emulador, basta digitar:
mvn android:deploy android:run
Se tudo estiver correto a sua aplicação será carregada no emulador e você pode fazer testes com a mesma.
Dica: Se você quiser fazer testes executando diretamente o aplicativo no celular, podemos fazer o seguinte:
mvn clean install android:deploy android:run -Dandroid.device=usb
Ou adicionar no pom a configuração do device no pom do projeto para que o deploy seja via USB
<device>usb</device>
Nesse exemplo vemos várias coisas juntas, como configurar um projeto maven para trabalhar com o plugin do android, vemos também como construir aplicações utilizando o framework Cordova, onde podemos contruir uma aplicação para celular sem utilizar código nativo, somente com html e javascript, como montar o ambiente de desenvolvimento e rodar uma aplicação no emulador.
Para fazer o download do exemplo, clique em: Exemplo do tutorial.