是一个非常重要的功能清单文件。每一个应用程序的根目录里都有这个功能清单文件,这个清单文件给Android系统提供了关于这个应用程序的基本信息,系统在运行任何程序代码之前必须知道这些信息。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"  //用来指定该文件的命名空间
          package="com.bignerdranch.android.criminalintent">  //指定Android应用所在的包

    <application
        android:allowBackup="true" //为true时,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复,这可能会带来一定的安全风险。
        android:icon="@mipmap/ic_launcher"   //用来设定应用程序的图标
        android:label="@string/app_name"     //用来设定应用程序的名称
        android:supportsRtl="true"  //声明你的application是否愿意支持从右到左(原来RTL就是right-to-left 的缩写)的布局,只是是否愿意,不是立马从右到左。
        android:theme="@style/AppTheme"> //应用的样式主题,该主题在当前应用包的style.xml中定义
        <activity
            android:name=".CrimeActivity" //指定的是该Activity的类名,“.”代表的是<manifest>元素的“package”属性中指定的当前包。activity只能放在应用包(manifest下package定义的路径)或者其子包里面,而不能再应用包以外的包中定义,这点需要牢记。
            android:label="@string/app_name" > //表示Activity所代表的屏幕的标题,该属性值在AVD运行程序到该Activity所代表的界面时,会在标题上显示该值。
        </activity>
        <activity android:name=".CrimeListActivity">

            <intent-filter> //设置隐式intent过滤器
                <action android:name="android.intent.action.MAIN" /> //标识Activity为一个程序的开始
                <category android:name="android.intent.category.LAUNCHER" /> //决定activity 应该显示在顶级应用启动器里。Main和LAUNCHER同时设定才有意义
            </intent-filter>
        </activity>
<provider  //为了提高私有文件的安全性,在targetSdk版本为N或者以后版本的app中,其私有目录将会限制访问。这可以防止私有文件元数据的泄露,比如文件大小或者是文件是否存在。但这给开发者带来了很多不利的影响:文件的owner不能放宽文件权限,如果你使用MODE_WORLD_READABLE或者 MODE_WORLD_WRITEABLE操作文件,将会触发SecurityException。当你跨package域传递file://的URI时,接收者得到的将是一个无权访问的路径,因此,这将会触发FileUriExposedException。对于这类操作,官方推荐的方式是使用FileProvider,当然你也可以使用ContentProvider。在targetSdk为Android N之前的系统版本时,不需要这个配置。    android:name="android.support.v4.content.FileProvider"
    android:authorities="com.bignerdranch.android.criminalintent.fileprovider"//当前app的包名 + fileprovider
    android:exported="false" //要求必须为false,为true则会报安全异常    android:grantUriPermissions="true">//表示授予 URI 临时访问权限    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths"/> //资源文件下创建相应的文件夹路径xml文件的文件名
</provider>    </application>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
                     android:maxSdkVersion="18"        />申请外部存储读权限,只有API级别小于19的android设备上,应用才需要这样的权限申请
<uses-feature android:name="android.hardware.camera"
                  android:required="false" />声明应用需要有照相功能的设备,但也不是必须的。</manifest>