androidandroid-xmlandroid-xmlpullparser

XmlPullParserException Binary XML file line #17<vector> tag requires viewportWidth > 0


This is a follow up question to this question:

Update Android Support Library to 23.2.0 cause error: XmlPullParserException Binary XML file line #17<vector> tag requires viewportWidth > 0

I also updated the support library to 23.2 and started getting the error:

XmlPullParserException Binary XML file line #17<vector> tag requires viewportWidth > 0

That question solved it for Android Studio and Gradle. How can this be solved when using Eclipse without Gradle?


Solution

  • A previous answer to this question had a solution for developers who use Gradle, but I don't use Gradle so I want to summarize his answer which helped several people and what I eventually did. I accepted my own answer and not his since like I said, I don't use Gradle so I did not use what he wrote.

    I did several things for it to work in the end. Possible solutions are:

    First for Gradle users:

    1) Revert the support library to an older version, since this one has a bug.

    2) use compile 'com.android.support:appcompat-v7:23.2.1' as the bug was fixed there.

    3) for Gradle Plugin 2.0:

    android {  
        defaultConfig {  
            vectorDrawables.useSupportLibrary = true  
        }  
    }
    

    Or you can use Grade Build Tools 1.5.0 (classpath 'com.android.tools.build:gradle:1.5.0')

    defaultConfig {
        generatedDensities = []
    }
    

    // no need for this with Gradle 2.0

    aaptOptions {
        additionalParameters "--no-version-vectors"
    }
    

    This is the part for non Gradle users:

    1) Open SDK manager.

    2) Uninstalled both "Android Wear X" (where X is ARM or Intel) from APIs 22 and 23.

    3) I then still had a compilation error in one of the styles of the AppCompat library. I simply commented them out (I'll risk the very specific device not working if it uses that very specific style).

    After that I cleaned the project and it just started to work.