Android AAPT:解析XML:未绑定前缀时出错,尽管已定义命名空间

Android AAPT:解析XML:未绑定前缀时出错,尽管已定义命名空间,android,Android,我正在尝试将我的应用程序转换到操作栏。我跟在后面。不幸的是,在尝试构建应用程序时,AAPT返回以下错误: menu.xml:6: AAPT: Error parsing XML: unbound prefix 我做了一些研究,发现这个错误通常发生在xmlns:android=”行中http://schemas.android.com/apk/res/android“不包含在XML中,因为AAPT不知道如何解释android.xxx标记。但是,正如您从我的代码中看到的,我在第一个节点中包含了这一

我正在尝试将我的应用程序转换到操作栏。我跟在后面。不幸的是,在尝试构建应用程序时,AAPT返回以下错误:

menu.xml:6: AAPT: Error parsing XML: unbound prefix
我做了一些研究,发现这个错误通常发生在
xmlns:android=”行中http://schemas.android.com/apk/res/android“
不包含在XML中,因为AAPT不知道如何解释
android.xxx
标记。但是,正如您从我的代码中看到的,我在第一个节点中包含了这一行:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    <android.support.v7.widget.Toolbar
        android:id="@+id/my_toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:elevation="4dp"
        android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</LinearLayout>     


那么为什么不编译它呢?

您没有通过
xmlns:app
声明
app
名称空间,但是您在
app:popupheme
中使用它。IIRC,Android Studio中有一个快速解决方案。如果没有,请添加
xmlns:app=”http://schemas.android.com/apk/res-auto“
到您的根元素。

谢谢,这就解决了问题。AAPT警告我关于第6行,而不是第13行,
app
引用所在的位置,这让我感到困惑,但我猜这只是关于节点的第6行的警告…@Andreas:是的,我怀疑消息指出了问题的位置是元素级别,而不是属性级别。