11

プロジェクトを 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/">

このエラーの原因と修正方法を教えてください。

4

7 に答える 7

15

Gradle ビルドを壊した Git コミットを掘り下げるのに約 2 時間費やしました。このコミットには、4000 行以上が変更された 200 以上の変更されたファイルが含まれていました。どれだけ楽しかったか想像できます;)

とにかく、これがこのあいまいな 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'

于 2014-02-01T20:29:00.503 に答える
3

最初に私の答えをすべて読んでください:このエラーは別のコンパイルの問題が原因のようです...

最初に、このエラーに対処するために、次のようにコードを更新しました。

<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
 ...
</resources>

このコードに:

<resources ignore="MissingTranslation">
     ...
</resources>

そして、最初はうまくいきました...しかし、tu gradle構成が原因で別のコンパイルエラーが発生しました...そして、これらのコンパイルエラーが修正されたので、以前の更新はもう機能しません。APK ファイルを生成するには、名前空間を追加する必要がありました。

そのため、このエラーに対処する前に、まずすべてのコンパイル エラーを修正してください...

于 2015-03-02T11:38:28.627 に答える
0

私の場合、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"

上記のコードを削除して問題を解決しました

于 2016-09-03T22:28:13.027 に答える