Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Gradle Project upgrading build tools to 21.0.1: aapt throws Exception

We have an android gradle project. Today I wanted to upgrade the android build tools version from 20 to 21.0.1, but now the aapt is failing.

* 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

I had some warnings saying:

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

I fixed those, but there are 6 more in the appcompat-v7 library.

If I revert the build tools version to 20 everything works fine.

Has anyone came across this problem?

like image 889
dfritsi Avatar asked Oct 19 '14 02:10

dfritsi


4 Answers

This worked for me:

It's metadata added by tools like Photoshop that isn't even honored by Android. Strip it.

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

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

P.S. Tested on Mac only.

like image 79
marius bardan Avatar answered Oct 07 '22 17:10

marius bardan


This is caused by a faulty aapt. There was a similar problem in 21.0.0 too (Error Code: -1073741819). You need to update build-tools again to fix it.

  • Open SDK manager and install build-tools 21.1.2.

  • Then change your build.gradle so that it looks like this.

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

Replace version numbers with the most recent ones as necessary.

Old buildToolsVersion 21.0.2, recommended version is 21.1.2 or later

like image 25
Binoy Babu Avatar answered Oct 07 '22 18:10

Binoy Babu


Warnings about libpng are reported here but can be ignored

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

Project Member says the newer libpng they built against is stricter about the color profile. They will fix this in an upcoming release, but this shouldn't be an issue.

And 21.0.2 solves other issues.

like image 22
albodelu Avatar answered Oct 07 '22 17:10

albodelu


I found a way to remove the color profile from png files to avoid this warning by using pngcrush Wikipedia about pngcrush.

If you are working on MacOS you can also use a tool called ImageOptim to run pngcrush and replace the stripped .png files on the fly.

like image 35
Noya Avatar answered Oct 07 '22 19:10

Noya