Android Gradle Project actualización de herramientas de compilación a 21.0.1: aapt lanza excepción


Tenemos un proyecto de Android gradle. Hoy quería actualizar la versión de Android build Tools de 20 a 21.0.1, pero ahora la aapt está fallando.

* What went wrong:
Execution failed for task ':myproject-android:processDebugResources'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
        c:\_DEVELOP\AndroidSDK\sdk\build-tools\21.0.1\aapt.exe package -f --no-crunch -I c:\_DEVELOP\AndroidSDK\sdk\platforms\android-16\android.jar -M D:\_MY_PROJECT\trunk\myproject_bin\gradle\build\re
lease\myproject-android\intermediates\manifests\full\debug\AndroidManifest.xml -S D:\_MY_PROJECT\trunk\myproject_bin\gradle\build\release\myproject-android\intermediates\res\debug -A D:\_MY_PROJECT\tr
unk\myproject_bin\gradle\build\release\myproject-android\intermediates\assets\debug -m -J D:\_MY_PROJECT\trunk\myproject_bin\gradle\build\release\myproject-android\generated\source\r\debug -F D:\_PIVOSC
ORE_P4\trunk\myproject_bin\gradle\build\release\myproject-android\intermediates\res\resources-debug.ap_ --debug-mode --custom-package com.myproject.app -0 apk --output-text-symbols D:\_MY_PROJECT\trunk\
myproject_bin\gradle\build\release\myproject-android\intermediates\symbols\debug
Error Code:
        255

Tuve algunas advertencias diciendo:

libpng warning: iCCP: Not recognizing known sRGB profile that has been edited

Los he arreglado, pero hay 6 más en la biblioteca appcompat-v7.

Si revierto la versión de build tools a 20 todo funciona bien.

¿Alguien se ha encontrado con este problema?

Author: ffddani, 2014-10-19

9 answers

Esto es causado por un aapt defectuoso. También hubo un problema similar en 21.0.0 (Error Code: -1073741819). Necesita actualizar build-tools de nuevo para solucionarlo.

  • Abra SDK manager e instale build-tools 21.1.2.

  • Luego cambia tu compilación.gradle para que se vea así.

    apply plugin: 'com.android.application'
        android {
            compileSdkVersion 21
            buildToolsVersion "21.1.2"
    

Reemplace los números de versión con los más recientes según sea necesario.

Antiguo buildToolsVersion 21.0.2, la versión recomendada es 21.1.2 o posterior

 38
Author: Binoy Babu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-24 01:35:04

Esto funcionó para mí:

Son metadatos agregados por herramientas como Photoshop que ni siquiera son honrados por Android. Desnúdalo.

brew install exiftool
find . -path '*src/main/res/*' -name '*.png' -exec exiftool -overwrite_original -all= {} \;

Fuente: https://groups.google.com/forum/#! msg / adt-dev/rjTQ_STR3OE/ - UcNQRISTKsJ

P.d. Probado solo en Mac.

 40
Author: marius bardan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-04 14:49:49

Las advertencias sobre libpng son reportadas aquí pero pueden ser ignoradas

Https://code.google.com/p/android/issues/detail?id=77704

El miembro del proyecto dice que el libpng más nuevo contra el que construyeron es más estricto sobre el perfil de color. Arreglarán esto en una próxima versión, pero esto no debería ser un problema.

Y 21.0.2 solucionan otros problemas.

 14
Author: albodelu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-23 18:46:54

Encontré una manera de eliminar el perfil de color de los archivos png para evitar esta advertencia utilizando pngcrush Wikipedia acerca de pngcrush.

Si está trabajando en macOS, también puede usar una herramienta llamada ImageOptim para ejecutar pngcrush y reemplazar el stripped .archivos PNG sobre la marcha.

 5
Author: Noya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-27 13:13:04

21.0.1 rompe mi proyecto también - aapt no agregará ningún recurso de cadena al APK. Revertido a 20.0.0, editando proyecto.config :

sdk.buildtools=20.0.0
 2
Author: Vaiden,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-20 20:04:09

Tuve el mismo problema con build tools 21.0.0, pero después de actualizar a 21.0.1 se ha solucionado.

 1
Author: MrBrightside,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-21 20:53:43

Si por alguna razón no es práctico eliminar manualmente los metadatos de los archivos, puede deshabilitar el uso del nuevo y más estricto png crusher configurando lo siguiente en su compilación.gradle.

aaptOptions.useNewCruncher = false
 1
Author: blunden,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-21 17:15:09

Estaba recibiendo las mismas advertencias y aapt estaba atascado incluso con build tools 22.0.1.Marqué la opción Compilar módulos independientes en paralelo en ajustes>compilador, lo que resultó en más de una instancia de ejecución de aapt y la compilación fue exitosa.

 0
Author: Prasenjeet S.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-17 09:30:47

Elimina la dependencia com.android.support:appcompat-v7:xxx

 -4
Author: Houny Chang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-27 05:39:58