XmlPullParserException二进制XML文件行#17 <vector>标记需要viewportWidth> 0

Yon*_*Nir 21 android android-xml android-xmlpullparser

这是对这个问题的后续问题:

将Android支持库更新到23.2.0会导致错误:XmlPullParserException二进制XML文件行#17 <vector>标记需要viewportWidth> 0

我还将支持库更新到23.2并开始收到错误:

XmlPullParserException Binary XML file line #17<vector> tag requires viewportWidth > 0
Run Code Online (Sandbox Code Playgroud)

这个问题解决了Android Studio和Gradle的问题.在没有Gradle的情况下使用Eclipse时如何解决这个问题?

Gom*_*ino 9

您可以切换回以前版本的appcompat库(快速修复):

compile 'com.android.support:appcompat-v7:23.1.1'
Run Code Online (Sandbox Code Playgroud)

或者保留当前库版本并对构建gradle文件进行适当更新,如Google 23.2.0发行说明中所述.

//for Gradle Plugin 2.0+  
android {  
    defaultConfig {  
        vectorDrawables.useSupportLibrary = true  
    }  
}
Run Code Online (Sandbox Code Playgroud)

如果您使用的是Gradle 1.5,则可以使用

defaultConfig {
    generatedDensities = []
}

// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
    additionalParameters "--no-version-vectors"
}
Run Code Online (Sandbox Code Playgroud)

不要忘记至少将gradle构建工具更新到1.5.0版,或者不能使用像generatedDensities这样的新参数:

classpath 'com.android.tools.build:gradle:1.5.0'
Run Code Online (Sandbox Code Playgroud)

更多关于为什么在这里的信息

  • 这适用于我.我的gradle构建工具版本是1.3.1.我只是将aaptOptions {additionalParameters"--no-version-vectors"}添加到我的build.gradle而不添加generatedDensities = []并且它可以工作 (3认同)

Yon*_*Nir 5

该问题的上一个答案为使用Gradle的开发人员提供了解决方案,但是我不使用Gradle,因此我想总结一下他的答案,该答案对很多人都有帮助,并最终帮助了我。我接受了我自己的回答,而不是他的回答,因为就像我说的那样,我不使用Gradle,所以我不使用他写的东西。

最后我做了几件事。可能的解决方案是:

首先适用于Gradle用户:

1)将支持库还原为旧版本,因为该版本存在错误。

2)使用bug修复了的'com.android.support:appcompat-v7:23.2.1'编译。

3)对于Gradle插件2.0:

android {  
    defaultConfig {  
        vectorDrawables.useSupportLibrary = true  
    }  
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用成绩构建工具1.5.0(classpath 'com.android.tools.build:gradle:1.5.0'

defaultConfig {
    generatedDensities = []
}
Run Code Online (Sandbox Code Playgroud)

// Gradle 2.0不需要这个

aaptOptions {
    additionalParameters "--no-version-vectors"
}
Run Code Online (Sandbox Code Playgroud)

这是非Gradle用户的一部分:

1)打开SDK管理器。

2)从API 22和23卸载了两个“ Android Wear X”(其中X是ARM或Intel)。

3)然后,我仍然遇到一种AppCompat库样式的编译错误。我只是将它们注释掉了(如果使用非常特定的样式,我会冒着特定的设备无法正常工作的风险)。

之后,我清理了该项目,它开始工作。