在将项目转换为 Android 构建系统的过程中,每当我尝试编译时都会出现此错误。
Gradle: Error parsing XML: prefix must not be bound to one of the reserved namespace names
合并的 values.xml 文件包含以下根元素:
<resources xmlns:ns1="http://www.w3.org/2000/xmlns/">
此错误的原因是什么,如何解决?
在将项目转换为 Android 构建系统的过程中,每当我尝试编译时都会出现此错误。
Gradle: Error parsing XML: prefix must not be bound to one of the reserved namespace names
合并的 values.xml 文件包含以下根元素:
<resources xmlns:ns1="http://www.w3.org/2000/xmlns/">
此错误的原因是什么,如何解决?
我刚刚花了大约 2 个小时来挖掘破坏了我们的 Gradle 构建的 Git 提交。此提交包含超过 200 个更改的文件,其中包含 4000 多条修改的行。你可以想象它是多么有趣;)
无论如何,这就是导致我们这个模糊的 Gradle 错误的原因:一些带有xmlns:custom
属性的样式被定义在res/values/styles.xml
:
<style name="content" xmlns:custom="http://schemas.android.com/apk/res-auto">
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/content</item>
</style>
如您所见,custom
甚至没有使用命名空间。出于某种原因,Ant 和 ADT 构建并不关心这个属性,但是 Gradle:processDebugResources
任务却出现了一条不太有用的错误消息。
删除xmlns:custom="http://schemas.android.com/apk/res-auto"
固定它。
使用的版本:Gradle 1.10 和'com.android.tools.build:gradle:0.8.0'
有同样的问题。我的是由于 Crashlytics。他们自动生成的 xml 文件具有无效的名称空间。
首先阅读我所有的答案:似乎这个错误是由于另一个编译问题......
最初,为了处理这个错误,我更新了我的代码,如下所示:
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
...
</resources>
进入这段代码:
<resources ignore="MissingTranslation">
...
</resources>
它在一开始对我有用……但是由于 tu gradle 配置,我遇到了另一个编译错误……现在这些编译错误已得到纠正,我之前的更新不再起作用。我必须添加命名空间来生成 APK 文件。
所以,在处理这个错误之前,一定要先纠正所有的编译错误......
我的接近所有这些。有人在字符串标签内声明了一个名称空间。像这样的东西:
<string name="google_play" xmlns:tools="http://schemas.android.com/tools" >Google Play</string>
我显然删除了 ns 引用,因为它不应该那样存在。我不得不在整个代码库中搜索“xmlns:”这个词,并寻找一个在错误位置的。花了一段时间。
我在与 Firebase 同步时遇到了这个问题。这是由于应用程序级别 gradle 中的分析包依赖性。通过评论/删除解决了
实施 'com.google.firebase:firebase-analytics'
当我将 Android Studio 1.5 更新到 2.2 版本时,我遇到了同样的问题。一个快速的解决方案是当你在更新版本中打开现有项目时,只需“忽略”更新 gradle 插件/版本。
就我而言,我在 styles.xml 中找到了以下代码
<item name="android:listSelector">
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/pressed_color" android:state_pressed="true" />
<item android:drawable="@color/focused_color" android:state_focused="true" />
<item android:drawable="@color/item_list_color" />
</selector>
</item>
在选择器中存在错误
xmlns:android="http://schemas.android.com/apk/res/android"
我删除了上面的代码并解决了我的问题