解析XML的等级错误:前缀不得绑定到其中一个保留的命名空间名称

时间:2015-07-01 03:13:20

标签: android xml gradle merge

当我将Android Studio更新为版本AI-141.2024585时,我正在处理我的项目。

升级前一切运行良好,但项目没有编译。 我有这个错误错误:(3)解析XML时出错:前缀不能绑定到其中一个保留的命名空间名称 这是带有错误的文件values.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:ns1="http://www.w3.org/2000/xmlns/">
    <declare-styleable name="DragSortListView"><attr format="dimension" name="collapsed_height"/><attr format="color" name="float_background_color"/><attr format="float" name="float_alpha"/><attr format="integer" name="remove_animation_duration"/><attr format="integer" name="drop_animation_duration"/><attr format="float" name="slide_shuffle_speed"/><attr format="boolean" name="remove_enabled"/><attr name="remove_mode"><enum name="clickRemove" value="0"/><enum name="flingRemove" value="1"/></attr><attr format="integer" name="fling_handle_id"/><attr format="integer" name="click_remove_id"/><attr format="boolean" name="drag_enabled"/><attr name="drag_start_mode"><enum name="onDown" value="0"/><enum name="onMove" value="1"/><enum name="onLongPress" value="2"/></attr><attr format="integer" name="drag_handle_id"/><attr format="float" name="drag_scroll_start"/><attr format="float" name="max_drag_scroll_speed"/><attr format="boolean" name="track_drag_sort"/><attr format="boolean" name="use_default_controller"/><attr format="boolean" name="sort_enabled"/></declare-styleable>

    <eat-comment/>
    <string name="com.crashlytics.android.build_id" ns1:ignore="UnusedResources,TypographyDashes" translatable="false" ns1:ns0="http://schemas.android.com/tools">0000000000000000</string>
</resources>

我已尝试安装稳定版Android Studio并更新gradle。 我还搜索了整个项目中的ns1属性,但只出现在该文件中。

作为生成的文件无法更改它,但我可以修改库。 你知道如何解决这个错误吗?非常感谢

2 个答案:

答案 0 :(得分:13)

这是因为crashlytics插件。您可以尝试删除每个模块中的任何crashltics生成的xml文件,然后重新同步应用程序的gradle文件。

crashltics生成的xml文件看起来像[ModuleXYZ]/src/res/values/com_crashlytics_xxx.xml

Crashlytics似乎发布了更新,您还应该更新插件。

更新使用上述程序成功构建项目后,可能会再次发生,昨天发生了两次。不知道为什么,但只要按照上面的程序,它将被修复。

答案 1 :(得分:3)

我遇到了同样的问题,罗伯特说可以修复问题,删除所有com_crashlytics_export_strings.xml文件。

另外请确保build.gradle中的crashlytics版本为2.4.0+,并且不会再次生成损坏的文件。

compile('com.crashlytics.sdk.android:crashlytics:2.4.0@aar') {
    transitive = true;
}