如果 android 清单中未指定 android:label,应用程序名称会怎样?

What happens to app name if android:label is not specified in android manifest?

我的 android 清单中有以下内容:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="nis.history_card_game" >

<application
    android:allowBackup="true"
    android:icon="@mipmap/history"
    android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen">
    <activity
        android:name=".Battlefield">
    </activity>
    <activity
        android:name=".ChooseHero">
    </activity>
</application>

出于某种原因,我的应用名为 nis.history.card_game 那么如果应用程序中的标签 android:label 丢失会怎样?

我不知道为什么会发生这种情况 - 如果缺少 android:label 属性,系统会自动分配包名称。不知道为什么会这样——可能只是 Google.

的惯例

但是解决方法就是在tag中添加label,而不是上面!

我认为带有android:label属性的activity标签是没有必要的,除非你想让activity标题与应用程序标签不同,你可以使用自己的标签.默认应与应用程序标签相同。

AndroidManifest.xml 文件的元素

上面 xml 文件中使用的元素如下所述。

manifest

manifest 是 AndroidManifest.xml 文件的根元素。它具有描述 activity class.

包名称的 package 属性

application

application 是清单的子元素。它包括名称空间声明。该元素包含几个声明应用程序组件的子元素,例如 activity 等

该元素常用的属性有iconlabeltheme等.

android:icon 表示所有 android 应用程序组件的图标。

android:label 作为所有应用程序组件的默认标签。

android:主题代表所有android活动的共同主题。

activity

activity 是 application 的子元素,表示必须在 AndroidManifest.xml 文件中定义的 activity。它有很多属性,比如label, name, theme, launchMode等等

android:label表示一个标签,即显示在屏幕上。

android:name表示activityclass的名称。这是必需的属性。

intent-filter

intent-filter 是 activity 的 sub-element,它描述了 activity、服务或广播接收器可以响应的意图类型。

action

它为 intent-filter 添加了一个动作。 intent-filter 必须至少有一个操作元素。

category

它将类别名称添加到 intent-filter。