Yonatan Nir Yonatan Nir - 2 months ago 10
Android Question

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?

Answer

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.

Comments