Android 应用在尝试签署 apk 时出现 Menu Lint 错误
Android app with Menu Lint error when try to sign apk
我的 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="http://schemas.android.com/tools""
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>
我的 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="http://schemas.android.com/tools""
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>