在gradle android闭包中定义时,我是否必须在AndroidManifest.xml中设置SDKVersion?

时间:2015-08-25 13:09:24

标签: android xml gradle

我使用Android Studio并在我的构建gradle中包含以下内容:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "de.majestella.test1"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

此配置是否会自动将以下值添加到AndroidManifest.xml文件中?

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="info.androidhive.customlistviewvolley"
    android:versionCode="1"
    android:versionName="1.0.0" >

    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="22" />

...

当我设置权限时:

<uses-permission android:name="android.permission.INTERNET" />

gradle是否会覆盖AndroidManifest.xml中设置的权限?

2 个答案:

答案 0 :(得分:2)

gradle声明会自动覆盖清单中的内容

答案 1 :(得分:0)

并非总是如此。 例如,我使用了一些需要高于当前最小值的API的方法。所以我在build.gradle中更改了它,它没有删除警告。但是,一旦我在Manifest中添加它,它就会识别并删除警告。我也仔细检查确认。因此,如果您要在首次创建应用程序资源文件时使用的原始API级别更改API级别,则最好在Manifest中声明它。每当我制作一个包含很多类的复杂应用程序时,我就会这样做。不像测试应用程序。