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.
- Reempaquetar el archivo APK para contener elementos personalizados: ¿qué herramienta de compilación usar?
- archivo ant.properties que falta en el proyecto android
- ¿Hay una manera de generar archivo de hormigas local.properties sin sobrescribir build.xml?
- Error de generación de hormigas
- ¿Utilizando Ant cómo puedo dex un directorio de jarras?
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.
- Cómo poner un tarro en classpath en Eclipse?
- Ant Build Android Project con dependencias
- No se puede actualizar mi aplicación en Google Play: error aapt
- Adición de tarros referenciados a android build.xml
- Cómo crear build.xml para un proyecto de Android?
- Actualización del ejemplo HelloJni
- Generar Android Javadoc con Ant
- Declaración de espacio de nombres Xml: auto-substitute package name
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.
- Comprobación del usuario de Foursquare en V2
- Androide HorizontalScrollView dirección del componente de diseño