AndroidManifest.xml的android:name是否带.的区别

android项目里面的AndroidManifest.xml,会有这样的定义
        <activity android:name=".Main"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

为什么这里android:name定义的Main要加一个“.”呢?

在这个文件前面有这样的定义:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="cn.noside.sample.button"
      android:versionCode="1"
      android:versionName="1.0">
//......
</manifest>

如果android:name所指示的类在定义的package下,加不加点无所谓;但如果android:name指示的类在在package下的子包中,例如"cn.noside.sample.button.app.Main",就只能是".app.Main"或者全路径,否则出错;如果不在定义的package下,则必须全路径。

上一篇:AndroidManifest.xml配置文件


下一篇:AndroidManifest.xml中相关属性说明