尝试签署apk时出现Menu Lint错误的Android应用程序



我的Android应用程序中有这个菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/tools"
xmlns:playtube="http://schemas.android.com/apk/res-auto">

<item
android:id="@+id/action_settings"
android:icon="@drawable/ic_settings_icon"
android:title="@string/action_settings"
app:showAsAction="always"
playtube:showAsAction="always">
<menu>
<item
android:id="@+id/settings_action_sleep_timer"
android:title="@string/settings_sleep_timer_title"
android:visible="false"
playtube:showAsAction="ifRoom" />
<item
android:id="@+id/settings_action_sdcard"
android:checkable="true"
android:title="@string/settings_sd_card_title"
playtube:showAsAction="ifRoom" />
<item
android:id="@+id/settings_action_hd"
android:checkable="true"
android:title="@string/settings_resolution"
android:visible="true"
playtube:showAsAction="ifRoom" />
</menu>
</item>

当我试图创建一个签名的APK时,我得到了这个Lint错误:

<issue
id="NamespaceTypo"
severity="Fatal"
message="Suspicious namespace and prefix combination"
category="Correctness"
priority="8"
summary="Misspelled namespace declaration"
explanation="Accidental misspellings in namespace declarations can lead to some very obscure error messages. This check looks for potential misspellings to help track these down."
errorLine1="    xmlns:app=&quot;http://schemas.android.com/tools&quot;"
errorLine2="               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="*/src/main/res/menu/main_activity_actions.xml"
line="2"
column="16"/>

知道如何修复这个错误吗?

只需从XML 中删除下面的代码行

xmlns:app="http://schemas.android.com/tools"

并像下面这样更新你的代码,然后尝试登录,它将工作

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:playtube="http://schemas.android.com/apk/res-auto">

<item
android:id="@+id/action_settings"
android:icon="@drawable/ic_settings_icon"
android:title="@string/action_settings"
playtube:showAsAction="always">
<menu>
<item
android:id="@+id/settings_action_sleep_timer"
android:title="@string/settings_sleep_timer_title"
android:visible="false"
playtube:showAsAction="ifRoom" />
<item
android:id="@+id/settings_action_sdcard"
android:checkable="true"
android:title="@string/settings_sd_card_title"
playtube:showAsAction="ifRoom" />
<item
android:id="@+id/settings_action_hd"
android:checkable="true"
android:title="@string/settings_resolution"
android:visible="true"
playtube:showAsAction="ifRoom" />
</menu>
</item>
</menu>

最新更新