29 maio 2012

Android – Criando um projeto com Maven

 
Neste post eu explicarei como criar um projeto android utilizando o plugin do maven para android e alguns archetypes já existentes. Para que possamos seguir no desenvolvimento do projeto, são necessários alguns pré-requisitos:

  • JDK 1.5 ou superior instalada, como requisito para desenvolvimento Android
  • Android SDK (r07 ou superior) instalada, de preferência com todas as plataformas. Para maiores informações, confira o post Android – Configurações Iniciais e Hello World
  • Maven 3.0.3 ou superior instalado. (Pode ser obtido em: http://maven.apache.org/download.html)
    • Para facilitar a utilização do SDK via linha de comando, adicione as seguintes variáveis de ambiente ao seu sistema operacional:
      • ANDROID_HOME, apontando para o caminho de instalação do Android SDK.
      • $ANDROID_HOME/tools e $ANDROID_HOME/platform-tools (ou %ANDROID_HOME %/tools e %ANDROID_HOME %/platform-tools, no WINDOWS).

O processo de compilação do maven precisa de acesso à API do Android para qual o projeto está sendo configurado. Para isto, estas bibliotecas devem estar disponíveis  no seu repositório do Maven.

Normalmente estas bibliotecas são disponibilizadas no repositório central do maven, mas alguns releases recentes ou extensões proprietárias, como  o suporte ao Google Maps não ficam disponíveis neste repositório. Para que tenhamos acesso a estas bibliotecas, podemos exportá-las do SDK local para o nosso próprio repositório local ou servidor, utilizando o https://github.com/mosabua/maven-android-sdk-deployer.

Baixe o projeto como zip e extraia para alguma pasta do seu sistema. Em seguida, execute um dos seguintes comandos:

  • mvn clean install, para instalar todos as bibliotecas em seu repositório local. (Este comando pode gerar uma exceção caso você não possua todas as bibliotecas em seu computador)
  • ou mvn install –P <api-version>, para instalar uma API específica.

Caso você utilize um repositório remoto, deve:

  • executar o comando com –Drepo.url=<url-do-repositorio> ou editar a propriedade <repo.url> do pom.xml do deployer
  • e adicionar as credenciais para acesso ao servidor remoto nas suas configurações do maven (~/maven/conf/settings.xml), como o exemplo a seguir:
1
2
3
4
5
6
7
8
9
<settings>
  <servers>
    <server>
      <id>android.repo</id>
      <username>seu usuário</username>
      <password>seu password</password>
    </server>
  </servers>
</settings>

Feito isto, você pode enviar os artefatos ao servidor com o comando mvn deploy.

Realizadas estas configurações iniciais, podemos criar nosso projeto android utilizando o maven e algum archetype já pronto. Para este post, utilizaremos archetypes já existentes em:  https://github.com/akquinet/android-archetypes/wiki

Segue um exemplo de como os archetypes existentes neste repositório devem ser utilizados:

1
2
3
4
5
mvn archetype:generate –DarchetypeArtifactId=<nome-do-archetype>
-DarchetypeGroupId=de.akquinet.android.archetypes
–DarchetypeVersion=<versão-do-archetype>
-DgroupId=<seu.package>
-DartifactId=<nome-do-seu-projeto>

 

Neste comando existem alguns parâmetros obrigatórios e opcionais, como seguem:

  • Obrigatórios:
    • -DarchetypeArtifactId=<nome-do-archetype>, este comando define qual dos archetypes disponíveis no repositório citado acima nós utilizaremos. Por exemplo: -DarchetypeArtifactId=android-quickstart
    • -DarchetypeGroupId=de.akquinet.android.archetypes, este comando define o groupId a ser utilizado. Para este repositório deve ser como o descrito.
    • -DarchetypeVersion=<versão-do-archetype>, este comando define a versão que utilizaremos. Fique atento para utilizar a mais recente, sempre que possível.
    • Opcionais:
      • –DgroupId=<seu.package>, este comando define o package da sua aplicação. Por exemplo: br.com.
      • –DartifactId=<nome-do-projeto>, este comando define o nome do seu projeto.

Ao executar estes comandos, o maven criará seu projeto no workspace. O próximo passo é importa-lo no Eclipse e, para isto, basta entrar na pasta do seu projeto (cd <nome-do-projeto>) e executar um mvn eclipse:eclipse para que o projeto seja compilado para o eclipse.

 

_________________________________________

Lucas Oliveira – Analista Programador na redspark.
Bacharel em Sistemas de Informação pela Universidade de São Paulo.
@OliveiraLima_

 

Comments

Leave a Comment