Incluyendo Google AdMob SDK para usar con Ant

Estoy usando el (nuevo?) AdMob SDK usando las instrucciones de este sitio de Google . Se supone que debemos integrar el archivo GoogleAdMobAdsSdk-4.0.4.jar en nuestro proyecto. El problema es: ¿cómo hacemos esto usando Ant? Me funciona bien en Eclipse (que va automáticamente en el archivo .classpath ), pero con Ant lanza muchos problemas "no se puede encontrar" cuando ing ing de ant release .

¿Dónde y cómo incluyo la referencia a ese tarro? Sospecho que debería hacerlo en build.xml , pero no estoy seguro de cómo hacerlo.

Copiar la carpeta de origen en otro lugar para que no se metan con mi carpeta de proyecto eclipse.

// editado:

Permítanme ser más específico: funciona automáticamente si sólo pongo el tarro en la carpeta de libs , pero quería saber si podría usar el tarro si el tarro se encuentra en algún otro lugar. De todos modos, mi problema está resuelto … Puedo compilar ponerlo en libs . Voy a tomar esto como una pregunta de curiosidad. No hay prisa.

Aquí está el archivo .classpath, a continuación. Permítanme decir que sólo hace una diferencia en Eclipse, pero Ant no parece utilizarlo:

 <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="src" path="gen"/> <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> <classpathentry kind="src" path="/android_licensing"/> <classpathentry kind="lib" path="C:/Users/David/Documents/program/eclipse/GoogleAdMobAdsSdk-4.0.4.jar"/> <classpathentry kind="output" path="bin"/> </classpath> 

Ant error:

 compile: [javac] C:\android-sdk-windows\tools\ant\main_rules.xml:384: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds [javac] Compiling 35 source files to C:\Users\David\Documents\program\eclipse\MyApp\9-branch\aaa\bin\classes [javac] C:\Users\David\Documents\program\eclipse\MyApp\9-branch\v9\src\net\myapp\ui\MainActivity.java:116: package com.google.ads does not exist [javac] import com.google.ads.*; [javac] ^ [javac] C:\Users\David\Documents\program\eclipse\MyApp\9-branch\v9\src\net\myapp\ui\MainActivity.java:143: cannot find symbol [javac] symbol : class AdView [javac] location: class net.myapp.ui.MainActivity [javac] AdView adView; [javac] ^ 

He intentado mirar en main_rules, y puedo ver donde declara la carpeta libs como un lugar para los frascos, pero todavía, me pregunto si hay una manera simple, por línea de proyecto de código para personalizar esto.

Gracias.

Desafortunadamente, esto no es fácil de hacer, debido a la forma en que los tarros se procesan en main_rules.xml:

 <!-- Directory for the third party java libraries --> <property name="jar.libs.dir" value="libs" /> <property name="jar.libs.absolute.dir" location="${jar.libs.dir}" /> <!-- create a path with all the jar files, from the main project and the libraries --> <path id="jar.libs.ref"> <fileset dir="${jar.libs.absolute.dir}" includes="*.jar" /> <path refid="project.libraries.jars" /> </path> 

Se ve en un directorio, y crea una ruta de acceso de todos los archivos de allí. Teniendo en cuenta que el frasco de admob tiene un número de versión incrustado, sugeriría que se quedara con mantener una copia en el directorio de librerías del proyecto.

Si utiliza SVN, puede usar una definición externa para extraer el tarro en un subdirectorio y usar una tarea de copia en -pre-compile para mover la última en librerías; Todo depende de cuántas personas (o máquinas) estás compartiendo el código con

No puedo pensar en una manera elegante que crea menos mantenimiento que sólo copiar el frasco.

  • La cobertura del código de Android falla debido a CNF Exception for org.junit.Test
  • ¿Cómo pasar argumentos a aapt al construir android apk?
  • Jenkins And Android Construir
  • Especificar el nombre del paquete al crear una aplicación de Android
  • Android Ant Build
  • Android: use ant para crear configuraciones de compilación que cambien los valores de configuración
  • NoClassDefFoundError al ejecutar Test de instrumentación con ant
  • Android ant error: nombre del directorio de recursos no válido: ./bin/res\crunch
  • Construir y ejecutar el proyecto android teniendo un subproyecto en la línea de comandos usando ant depuración
  • Fallar pruebas de Android JUnit, no romper mi script Ant como espero?
  • ¿Hay algo más que pueda hacer para tratar con "Límite de sobrecarga de GC superado" ejecutando Ant (línea de comandos)?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.