java - para - ¿Usando Android build.xml en eclipse?
layout formulario android (6)
Esto no es realmente una respuesta, pero para lo que vale, pude eliminar el problema del proyecto Eclipse del área de trabajo, eliminar. * En el directorio de mi proyecto y comenzar de nuevo. Eclipse FTW!
Tengo un proyecto de Android que tiene un archivo de compilación de Ant. Funciona muy bien a través de la línea de comandos:
rascher@coltrane:~/git/$ ant
Buildfile: build.xml
[setup] Android SDK Tools Revision 8
[setup] Project Target: Android 2.1-update1
[setup] API level: 7
[setup]
... etc etc etc ...
Pero cuando trato de usar esto en eclipse, build.xml
tiene una X roja.
<?xml version="1.0" encoding="UTF-8"?>
<project name="MyWonderfulProject" default="help">
<project
está subrayado con el error: la ayuda de destino predeterminada no existe en este proyecto
Parece que todos los demás en Internet tienen este problema, y parece deberse al hecho de que build.xml
utiliza directivas que provienen de los múltiples archivos anidados específicos de Android que importa este archivo de compilación.
Tengo otros proyectos en mi área de trabajo que utilizan el mecanismo de compilación de Eclipse, así que sé que mi entorno es capaz de compilar, ejecutar e implementar aplicaciones de Android sin ningún problema. Pero este buildfile me está dando dolores de cabeza.
¿Cuál es la solución?
Esto no soluciona el problema, pero hará que Eclipse deje de interponerse en su camino. Vaya a Window > Preferences > Ant > Editor
y seleccione la pestaña Problems
. Marque la casilla ignore all buildfile problems
.
Hay un objetivo llamado ''ayuda'' definido en el $ {sdk.dir} /tools/ant/main_rules.xml como abajo,
<target name="help">
<echo>Android Ant Build. Available targets:</echo>
<echo> help: Displays this help.</echo>
<echo> clean: Removes output files created by other targets.</echo>
<echo> compile: Compiles project''s .java files into .class files.</echo>
<echo> debug: Builds the application and signs it with a debug key.</echo>
<echo> release: Builds the application. The generated apk file must be</echo>
<echo> signed before it is published.</echo>
<echo> install: Installs/reinstalls the debug package onto a running</echo>
<echo> emulator or device.</echo>
<echo> If the application was previously installed, the</echo>
<echo> signatures must match.</echo>
<echo> uninstall: Uninstalls the application from a running emulator or</echo>
<echo> device.</echo>
</target>
Copia este en tu build.xml y debería funcionar.
Opción 1:
Importe el archivo de plantilla ant de Android en el archivo build.xml. Suponiendo que tiene sdk.dir
definido en local.properties
y que apunta a su directorio de instalación de Android, agregue lo siguiente en el elemento del proyecto:
<import file="${sdk.dir}/platforms/${target}/templates/android_rules.xml" />
Opcion 2:
Para utilizar realmente los objetivos de Android Ant en la perspectiva de Eclipse Ant, lo anterior no ayudará. Parece que hay una incompatibilidad de nivel general que no he resuelto resolver por completo, pero para que las cosas funcionen a un nivel satisfactorio, puedes:
- Importe el proyecto build.xml como un constructor. Propiedades del proyecto -> Constructores -> importar.
- No utilice la opción 1 . En su lugar ignora la advertencia sobre la plantilla que falta. Propiedades globales -> Ant -> Editor -> Problemas. Añadir build.xml a los nombres.
Esto tendrá un impacto en todos los proyectos e ignorará los errores reales, por lo que no es una solución perfecta. Pero puede usar las opciones de compilación de Android dentro de Eclipse, así como desde la línea de comandos.
Si su build.xml tiene su propio objetivo de ayuda en lugar de confiar en el importado, entonces debe poner ese objetivo antes de la línea
<taskdef name="setup" classname="com.android.ant.SetupTask" classpathref="android.antlibs" />
Tengo el mismo problema y todo lo que hice fue ir al eclipse.
Window->Preferences->Ant->Editor->Problems
y haga clic
Ignore All Build File Problems.