2011-12-26 15 views
14

A partir de un proyecto de limpieza creado con:Ant no la reconstrucción de la aplicación Android con `depuración hormiga install`

android create project -n something -t android-7 -p something -k com.example.something -a Something 

Cuando corro ant debug install y abra la aplicación en mi emulador, veo (como se esperaba)

Emulator screenshot from initial build

Aquí es donde va mal. Ahora cambio algo trivial en la aplicación. En este ejemplo, voy a eliminar la llamada setContentView de la actividad principal, así que se ve así:

package com.example.something; 
import android.app.Activity; 
import android.os.Bundle; 
public class Something extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     //setContentView(R.layout.main); REMOVED 
    } 
} 

Ahora reconstruir la aplicación con ant debug install y ejecutarlo en el emulador. Veo esto:

Emulator screenshot after rebuild

Esto está mal. Acabo de eliminar el texto con mi edición anterior. Si hago ant clean antes ant debug install, consigo el resultado esperado:

Expected result after rebuild

yo no quiero tener que correr ant clean antes de cada vez que funciono ant debug install. ¿Cómo puedo hacer que la hormiga realmente reconstruya el programa sin ejecutar ant clean cada vez?


Detalles:

Aquí está la salida de la inital ant debug install:

$ ant debug install 
Buildfile: /home/x/android/something/build.xml 

-set-mode-check: 

-set-debug-files: 

-set-debug-mode: 

-debug-obfuscation-check: 

-setup: 
    [echo] Gathering info for something... 
    [setup] Android SDK Tools Revision 16 
    [setup] Project Target: Android 2.1 
    [setup] API level: 7 
    [setup] 
    [setup] ------------------ 
    [setup] Resolving library dependencies: 
    [setup] No library dependencies. 
    [setup] 
    [setup] ------------------ 
    [setup] 
    [setup] WARNING: No minSdkVersion value set. Application will install on all Android versions. 

-build-setup: 
    [echo] Creating output directories if needed... 
    [mkdir] Created dir: /home/x/android/something/bin 
    [mkdir] Created dir: /home/x/android/something/bin/res 
    [mkdir] Created dir: /home/x/android/something/gen 
    [mkdir] Created dir: /home/x/android/something/bin/classes 

-pre-build: 

-code-gen: 
    [echo] ---------- 
    [echo] Handling aidl files... 
    [aidl] No AIDL files to compile. 
    [echo] ---------- 
    [echo] Handling RenderScript files... 
[renderscript] No RenderScript files to compile. 
    [echo] ---------- 
    [echo] Handling Resources... 
    [aapt] Generating resource IDs... 

-pre-compile: 

-compile: 
    [javac] Compiling 2 source files to /home/x/android/something/bin/classes 

-post-compile: 

-obfuscate: 

-dex: 
     [dex] Converting compiled files and external libraries into /home/x/android/something/bin/classes.dex... 

-crunch: 
    [crunch] Crunching PNG Files in source dir: /home/x/android/something/res 
    [crunch] To destination dir: /home/x/android/something/bin/res 
    [crunch] Crunched 0 PNG files to update cache 

-package-resources: 
    [aapt] Creating full resource package... 

-package: 
[apkbuilder] Current build type is different than previous build: forced apkbuilder run. 
[apkbuilder] Creating something-debug-unaligned.apk and signing it with a debug key... 

-do-debug: 
[zipalign] Running zip align on final apk... 
    [echo] Debug Package: /home/x/android/something/bin/something-debug.apk 

debug: 
[propertyfile] Creating new property file: /home/x/android/something/bin/build.prop 
[propertyfile] Updating property file: /home/x/android/something/bin/build.prop 
[propertyfile] Updating property file: /home/x/android/something/bin/build.prop 
[propertyfile] Updating property file: /home/x/android/something/bin/build.prop 

install: 
    [echo] Installing /home/x/android/something/bin/something-debug.apk onto default emulator or device... 
    [exec] 66 KB/s (4410 bytes in 0.065s) 
    [exec]  pkg: /data/local/tmp/something-debug.apk 
    [exec] Success 

BUILD SUCCESSFUL 
Total time: 5 seconds 

Aquí está la salida de la segunda ant debug install después de la edición:

$ ant debug install 
Buildfile: /home/x/android/something/build.xml 

-set-mode-check: 

-set-debug-files: 

-set-debug-mode: 

-debug-obfuscation-check: 

-setup: 
    [echo] Gathering info for something... 
    [setup] Android SDK Tools Revision 16 
    [setup] Project Target: Android 2.1 
    [setup] API level: 7 
    [setup] 
    [setup] ------------------ 
    [setup] Resolving library dependencies: 
    [setup] No library dependencies. 
    [setup] 
    [setup] ------------------ 
    [setup] 
    [setup] WARNING: No minSdkVersion value set. Application will install on all Android versions. 

-build-setup: 
    [echo] Creating output directories if needed... 

-pre-build: 

-code-gen: 
    [echo] ---------- 
    [echo] Handling aidl files... 
    [aidl] No AIDL files to compile. 
    [echo] ---------- 
    [echo] Handling RenderScript files... 
[renderscript] No RenderScript files to compile. 
    [echo] ---------- 
    [echo] Handling Resources... 
    [aapt] No changed resources. R.java and Manifest.java untouched. 

-pre-compile: 

-compile: 
    [javac] Compiling 1 source file to /home/x/android/something/bin/classes 

-post-compile: 

-obfuscate: 

-dex: 
     [dex] No new compiled code. No need to convert bytecode to dalvik format. 

-crunch: 
    [crunch] Crunching PNG Files in source dir: /home/x/android/something/res 
    [crunch] To destination dir: /home/x/android/something/bin/res 
    [crunch] Crunched 0 PNG files to update cache 

-package-resources: 
    [aapt] No changed resources or assets. something.ap_ remains untouched 

-package: 
[apkbuilder] No changes. No need to create apk. 

-do-debug: 
[zipalign] No changes. No need to run zip-align on the apk. 
    [echo] Debug Package: /home/x/android/something/bin/something-debug.apk 

debug: 
[propertyfile] Updating property file: /home/x/android/something/bin/build.prop 
[propertyfile] Updating property file: /home/x/android/something/bin/build.prop 
[propertyfile] Updating property file: /home/x/android/something/bin/build.prop 
[propertyfile] Updating property file: /home/x/android/something/bin/build.prop 

install: 
    [echo] Installing /home/x/android/something/bin/something-debug.apk onto default emulator or device... 
    [exec] 88 KB/s (4410 bytes in 0.048s) 
    [exec]  pkg: /data/local/tmp/something-debug.apk 
    [exec] Success 

BUILD SUCCESSFUL 
Total time: 3 seconds 

en cuenta que una los pasos -dex, -package y -debug parecen pensar que no cambié nada.

+0

Exactamente el mismo problema aquí, ya que me pasa a un nuevo ordenador portátil, tratando de averiguar cuál es diferente .. Usando r16 SDK 1.8.2 con la hormiga. – brk3

+0

¿Alguien probó si esto todavía ocurre con la última actualización de r17? – brk3

+1

De acuerdo con el rastreador de errores, se corrigió en el nuevo r17 http://code.google.com/p/android/issues/detail?id=22948 – HighCat

Respuesta

5
+0

Gracias por los enlaces directos. Ahorrado un tiempo – Warpspace

3

que estaba preguntando acerca de esto en # android-dev, al parecer hay un error en r16 SDK y que rompe la pasos:

21:25 < PFN> tengo ese problema exacto con r16 SDK
21 : 25 < PFN> la respuesta es eliminar classes.dex y yourapp-debug.apk de depuración antes de cada hormiga

Por desgracia, no parece que esta corrección trabajar por lo que parece que estamos atascados con tener una generación limpia cada hora.

+0

Su arreglo no funcionó para mí (eliminando bin/classes.dex y bin/x-debug.apk), pero me alegro de no ser el único con este problema. – Snowball

+0

Sí, por desgracia resulta que no funciona para mí, así que he actualizado el comentario para reflejar esto. ¡Estaba feliz de descubrir que yo tampoco era el único! – brk3

0

Es necesario actualizar el Test- proyecto para que se reflejen los cambios, y luego haga la instalación de depuración de ant 1. ~/android-SDK/herramientas/actualización de Android prueba en proyectos -m -p ../SampleProject/ ../SampleProjectTest/ 2. depuración hormiga instalar

0

Aquí está la solución que funciona para mí:

  1. Copiar el espacio de trabajo a otro lugar
  2. eliminar todos los proyectos en el área de trabajo actual Precaución no elimine en el disco
  3. abrir el terminal y escribir el siguiente 4.Cierre Eclipse.

    cd /home/user/workspace/.metadata/.plugins 
    rm -rf org.eclipse.core.resources 
    
    • inicio Eclipse
    • Do Archivo-> Importar
    • General-> Proyectos en espacio de trabajo
    • existente Haga clic en el campo "Seleccionar directorio raíz" y vaya a cada subcarpeta en la carpeta de espacio de trabajo, e importar
Cuestiones relacionadas