Criando projetos Android com Maven – Kleber's Blog
Criaremos uma aplicação Android que mostra a hora do dia, e compilaremos ela com o Maven.
Seu editor de texto favorito ou uma IDE
JDK 6 ou mais recente
Um dispositivo Android ou um emulador
Como a maioria dos guias, você pode começar do zero e completar cada etapa, ou pular etapas básicas que você já esteja familiarizado. De qualquer forma, você terminará com um código funcional.
Para começar do zero, começe pela seção Configurando o projeto.
Para pular etapas báscias, faça o seguinte:
Baixe e descompacte o repositório de código para esse guia, ou clone usando o Git: git clone https://github.com/spring-guides/gs-maven-android.git
entre no diretório gs-maven-android/initial
Pule para a seção Instalação do Maven.
Quando tiver terminado, você pode conferir o resultado com o código em gs-maven-android/complete.
Em primeiro lugar, você precisa configurar um project Android para o Maven compilar. Para manter o foco no Maven, crie um projeto bem simples nesse momento. Se esse for sua primeira vez trabalhando com projetos Android, acesso o artigo Installing the Android Development Environment para obter ajuda na configuração de seu ambiente de desenvolvimento.
Em um diretório de sua escolha, crie a seguinte estrutura de sub-diretórios; por exemplo, com o seguinte comando em um Mac ou Linux:
Criar o arquivo de manifesto do Android
O arquivo de Manifesto do Android contém todas as informações necessárias para rodar a aplicação Android, e não pode ser compilada sem um.
Adicione uma string. Strings podem ser referenciadas pela aplicação ou por arquivos de recurso.
Agora defina a estrutura visual da interface ao usuário de sua aplicação.
Dentro do diretório src/main/java/org/hello, você pode criar qualquer classe Java que quiser. Para manter-se consistente com o restante do artigo, crie a seguinte classe:
Agora você tem um projeto que pode ser compilado com o Maven. O próximo passo é instalar o Maven.
O Maven pode ser baixado como um arquivo zip no site http://maven.apache.org/download.cgi. Apenas os binários são necessários, então procure pelo link para apache-maven-{version}-bin.zip or apache-maven-{version}-bin.tar.gz.
Baixe e descompacte o arquivo, e depois adicione o diretório bin ao seu path.
Para testar a instalação do Maven, execute mvn na linha de comando:
Se tudo correr bem, você deve visualizar detalhes da instalação como essas:
Você agora tem o Maven instalado.
Definir um arquivo de build
Agora que o Maven foi instalado, você precisa criar uma definição para o project Maven. Você define projetos do Maven com um arquivo XML chamada pom.xml. Entre outras coisas, esse arquivo fornece o nome do projeto, versão, e dependências que ele tem para bibliotecas externas.
Crie um arquivo chamada pom.xml na raiz do seu project e salve o seguinte conteúdo nele:
O elemento <packaging> deve especificar apk. Esse é o arquivo pom.xml mais simple possivel para compilar um projeto Android. Ele inclui os seguintes detalhes da configuração do project:
<groupId>. Grupo ou organização na qual o projeto pertence. Frequentemente é expresso como um nome de domínio invertido.
<artifactId>. Nome a ser fornecido para o artefato do project (por exemplo, o nome do arquivo APK).
<version>. Versão do projeto que será compilado.
<packaging>. Como o projeto deve ser empacotado, nesse caso será um APK do Android.
A seção <dependencies> declara uma lista de dependências para o projeto. Especificamente, é declarado uma única dependências para a biblioteca Android. Dentro do elemento <dependency>, a dependência é definida por três sub-elementos:
<groupId>. Grupo ou organização na qual a dependência pertence.
<artifactId>. Biblioteca necessária.
<version>. Especificaa versão da biblioteca que é necessária.
<scope>. Definição do escopo como compile é o padrão. Isto é, todas as dependências devem estar disponíveis durante a compilação.
Nesse caso, o elemento <scope> foi definido com o valor provided. Dependências desse tipo são necessárias para compilar o projeto, mas serão fornecidas durante a execução por um contêiner que executa o código. Por exemplo, as APIs do Android estão sempre disponíveis quando uma aplicação Android é executada.
A seção <build> declara configurações adicionais para compilar a aplicação. Dentro dela está a seção <plugins>, que contém uma lista de plugins que adicionam funcionalidade adicional para o processo de compilação. Aqui é onde você define a configuração para o Android Maven Plugin. Como no caso das dependências, plugins também possuem elements <groupId>, <artifactId>, e <version>, e eles se comportam como descritos anteriormente. A declaração do plugin também possui esses elementos:
<configuration>. Configurações e especificas do plugin. No nosso caso, especificamos qual plataforma do SDK Android será usada.
<extensions>. Combinando a especificação do valor true e apk para <packaging> diz que o Android Maven Plugin deve estar envolvido no processo de compilação.
Nesse ponto você acabou de definir um projeto mínimo do Maven capaz de ser compilado.
O Maven está agora pronto para compilar o projeto. Você pode executar diversos alvos com o Maven agora, incluindo aqueles usados para compilar o código, criar um pacote de biblioteca (como um JAR file) e instalar a biblioteca na repositório local do Maven.
Tente compilar o projeto:
Esse comando executa o Maven, dizendo a ele para executar o alvo compile. Quando ele terminar de fazer isso, você vai achar arquivos .class no diretório target/classes.
Por ser improvável que você queira distribuir seu trabalho e arquivos .class, você irá querer executar o alvo:
Esse alvo compila o cogio, executa os testes, e empacota o código em um arquivo JAR dentro do diretório target. O nome do arquivo JAR é baseado nos valores de <artifactId> e <version>. Por exemplo, baseado no arquivo pom.xml mínimo criado anteriormente, o arquivo JAr será chamada gs-maven-android-0.1.0.jar.
Por causa do valor de <packaging> ser "apk", o resultado será uma arquivo APK no diretório target, além do arquivo JAR. Esse arquivo APK é uma aplicação Android pronta para ser carregada em uma dispositivo ou emulador.
O plugin do Maven para Android fornece muito mais alves que você pode usar para iniciar diversas fases do processo de compilação, ou interagir como o dispositivo ou emulador. Você pode visualizar uma lista de alvos disponíveis executando o comando:
O exemplo Hello World acima é totalmente auto-contido e não depende de bibliotecas adicionais. Muitas aplicações, porém, dependem de bibliotecas externas para lidar com funcionalidades complexas ou comuns.
Por exemplo, suponha que você queira que sua aplicação mostre a data e hora atual. Apesar de você poder usar os recursos de manipulação de data e hora nativos das bibliotecas Java, você pode tornar as coisas mais interessantes usando a bibliotecas Joda Time.
Para isso, modifique o arquivo HelloActivity.java para que fique dessa forma:
Nesse exemplo, você está usando a classe LocalTime da biblioteca Joda Time para ler e exibir a hora a atual.
Se você executar mvn package para compilar o projeto nesse momento, o processo irá falhar porque você não declarou Joda Time como uma dependência. Você pode corrigir isso, adicionando as seguintes linhas na seção <dependencies> de seu arquivo pom.xml:
De forma similar à dependência do Android mencionada anteriormente, esse bloco XML declara uma nova dependência ao seu projeto, especificamente a bibliotecas Joda Time.
Recompilando o código com as dependências
Agora, se você executar mvn compile ou mvn package, o Maven deve buscar a dependência para a biblioteca Joda Time do repositório Maven Central e irá compilar a aplicação sem erros.
Parabéns! Você acabou de criar um projeto Maven simples mais efetivo para compilar projetos Android.
Criando uma aplicação básica para Android 10 aplicativos essenciais em um tablet Android Criando uma aplicação básica para o Android a partir do zero Como criar Serviços em aplicações Android
Publicado em 27 de dezembro de 2014 4 de outubro de 2019 Autor klebermoCategorias Android, MavenTags Android, app, build, jdk, maven, project, SDK
Anterior Post anterior: Fazendo login em uma aplicação Spring com uma conta de um provedor de autenticação