lunedì 31 gennaio 2011

Creare un progetto android con maven

N.B. questa guida, anche se è praticamente completata è ancora in fase di sviluppo ed è stata scritta di getto, può quindi contenere errori sia sintattici che 'purtroppo' ortografici :P  mi scuso a priori per le eventuali insesattezze 

Ed eccoci finalmente a qualcosa di un pò più complesso.

In questo post proverò a spiegare la creazione di un progetto android con maven.
Maven è un progetto apache che ci aiuta a gestire le dipendenze di progetto, a costruire i nostri progetti e a deployarli .... (verrà integrato in seguito)

Il risultato dovrebbe essere uguale a quello ottenuto in questo post, dove abbiamo creato un nuovo progetto android con eclipse.

iniziamo creando un progetto android da linea di comando con l'utility android.



Per farlo dobbiamo sapere su che piattaforma(target) vogliamo sviluppare il nostro progetto



Il target è appunto la platform installata nell'sdk che vogliamo utilizzare nel nostro progetto
Per ottenere una lista dei target disponibili nel nostro sistema occorre dare il comando:

aDeveloper@virtualAttila:~$ android list target

l'output della mia workstation è questo:


Siccome vogliamo sviluppare un applicazione basata sul samsung galaxy tab,
il target della mia applicazione come si evince dall'immagine avrà come id 6

quindi creiamo il progetto. posizionamoci nel nostro workspace e diamo il comando:

aDeveloper@virtualAttila:~/workspace$ android create project --target 6 --name aDeveloperDemoProject --path ./aDeveloperDemoProject --activity aDeveloperActivity --package org.demo.adeveloperdemo

se abbiamo configurato correttamente le variabili d'ambiente, come abbiamo descritto in questo post,  il risultato sarà questo :


Adesso creiamo il file pom.xml per maven

aDeveloper@virtualAttila:~/workspace$ gedit ./pom.xml

il file pom.xml avrà questo contenuto:

<project xsi:schemaLocation="http://mav1.6_r2en.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.demo</groupId>
<artifactId>aDeveloperDemoProject</artifactId>
<version>1.0.0-SNAPSHOT</version>

  <!--
                      il tipo di pacchetto che andremo a produrre
                      -->

<packaging>apk</packaging>
<name>aDeveloperDemoProject</name>
 <dependencies>

  <!--
                      l'unica nostra dipendenza è il pacchetto di android, nel nostro caso la versione 2.2.1 che corrisponde alla platform 8
  -->

    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>2.2.1</version>
        <scope>provided</scope>
    </dependency>

</dependencies>
  <!--
                      queste dichiarazione servono a compilare il nostro progetto e produrlo in versione .apk
                      -->

<build>
    <finalName>${project.artifactId}</finalName>

      <!-- configuriano il parametro sourcedirectory percè vogliamo mantenere la compatibilità con eclipse, che usa come source folder src anzichè src/main/java di maven       -->
    <sourceDirectory>src</sourceDirectory>
    <plugins>
        <plugin>
        <groupId>com.jayway.maven.plugins.android.generation2</groupId>
             <artifactId>maven-android-plugin</artifactId>
             <version>2.8.4</version>
                 <configuration>
                 <sdk>

                      <!--
                      il percorso dell'sdk
                      -->

                      <path>/opt/android-sdk-linux_86</path>
                      <!--
                      la platform utilizzato o l'api level in questo caso platform 8 = api 2.2
                      -->
                      <platform>8</platform>

                 </sdk>
                 <emulator>
                 <!--       
                 il nome del nostro emulatore, che troviamo nell'sdk and avd manager in virtual devices
                 -->
                 <avd>
adeveloperblogEmulator</avd>
                 </emulator>
                 <deleteConflictingFiles>true</deleteConflictingFiles>
                 <undeployBeforeDeploy>true</undeployBeforeDeploy>
                 </configuration>
                 <extensions>true</extensions>
         </plugin>
         <plugin>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <version>2.3.2</version>
                 </plugin>
         </plugins>

</build>
</project>


adesso da terminale nella direcory del progetto dare il comando:

aDeveloper@virtualAttila:~$ mvn install

Maven proverà a compilare e buildare il nostro progetto e, in caso di successo lo mettera nel nostro repository

Nel nostro caso il risultato sarà questo:


Ciò significa che riusciamo a costruire il nostro pacchetto apk.
adesso proviamo ad installarlo sul nostro emulatore

aDeveloper@virtualAttila:~$ mvn android:deploy


di nuovo maven ci restituirà BUILD SUCCESSFUL 





ciò significa che Maven è riuscito ad installare correttamente la nostra applicazione.

andiamo quindi sul nostro emulatore o sul nostro device e in applicazioni cerchiamo la nostra applicazione, se avete seguito rigidamanente la mia guida si chiamerà aDeveloperActivity.

apriamola e, se tutto è andato per il verso giusto visualizzeremo la stessa schermata ottenuta nel post  creare il nostro primo progetto android con eclipse
, cioe questa:










Nessun commento:

Posta un commento