2011-02-10 23 views
6

Tengo un proyecto de Android en el que necesito compilar varias versiones de la misma aplicación desde las mismas fuentes.Android AdMob y Maven

Para ello, utilizo el android plugin for Maven

Cada versión debe ser capaz de incluir los anuncios de AdMob. Así que en mi POM añadí esta dependencia

<dependency> 
    <groupId>com.admob.android</groupId> 
    <artifactId>ads</artifactId> 
    <version>20101109-ANDROID-3312276cc1406347</version> 
    <scope>system</scope> 
    <systemPath>THE_PATH\libs\admob-sdk-android.jar</systemPath> 
</dependency> 

no consigo ningún error en tiempo de compilación, pero, cuando ejecuto la aplicación consigo esta excepción

java.lang.ClassNotFoundException: com.admob.android.ads.AdView 

Así que al parecer el paquete no es propiamente incluido ?

Respuesta

9

NO puede usar el alcance del sistema para las bibliotecas necesarias en tiempo de ejecución. Implemente el jar en su repositorio local o en su servidor de repositorio (utilizando, por ejemplo, mvn install:installFile ..) y elimine scope y systemPath de la declaración de dependencia.

Actualización: A partir de las últimas versiones de mi Maven Android SDK Deployer puede hacer la instalación de la jarra de AdMob desde el SDK en su repositorio de Maven local o servidor de repositorios para usted.

1

Para utilizar el Maven Android SDK de activación, haga lo siguiente:

  • Clonar el repositorio:

    git clone https://github.com/mosabua/maven-android-sdk-deployer.git

  • ve al Gestor de SDK e instalar todas las API (esto puede tardar un tiempo si aún no lo ha hecho)

  • Asegúrese de tener la variable de entorno correcta establecida para ANDR OID_HOME. Para Windows esto podría ser:

    conjunto ANDROID_HOME = c:/android-sdk-windows

  • Ejecutar el instalador:

    c: \ Tools \ maven-android-sdk-implementador> mvn instalar

Después de haber hecho esto, puede utilizar todas las dependencias de Android de su pom.xml, por ejemplo

<dependency> 
     <groupId>com.google.android.admob</groupId> 
     <artifactId>admob</artifactId> 
     <version>6.4.1-r11</version> 
    </dependency> 

(Hay una lista completa en la página de GitHub)

Cuestiones relacionadas