Android,Firebase:Manifest合并失败:uses-sdk:minSdkVersion 15不能小于16版

时间:2017-09-19 12:30:17

标签: android firebase

我的 app / build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "com.example.firebase"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'

    compile 'com.google.firebase:firebase-auth:11.0.4'
    compile 'com.firebaseui:firebase-ui-auth:2.3.0'
    compile "com.android.support:design:26.1.0"
    compile "com.android.support:customtabs:26.1.0"
    compile "com.android.support:cardview-v7:26.1.0"

    testCompile 'junit:junit:4.12'
}


apply plugin: 'com.google.gms.google-services'

但是当我尝试构建我的Android项目时,我收到错误:

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 16 declared in library [com.firebaseui:firebase-ui-auth:2.3.0] 

我无法更改 minSdkVersion ,因为这是客户端的要求 - 在min上运行Adnroid应用程序。 ver = 15

2 个答案:

答案 0 :(得分:2)

  

我无法更改minSdkVersion,因为这是客户端的要求 - 在min上运行Adnroid应用程序。 ver = 15

无法做,因为您使用minSdk = 16的某些依赖项(在您的情况下firebase-ui minSdk = 16 )。

您可以选择较旧版本的依赖项,但将来您将始终遇到问题,因为您无法更新它们。

正如您可以查看official dashboard,今天 minSdk = 16,您将覆盖99%的设备

在任何情况下,如果客户强烈要求,您可以create multiple APKs for Different API Levels

这意味着您可以在build.gradle中创建具有不同级别的api和不同依赖关系的不同风格。通过这种方式,您将能够使用api 15以及所使用的库的新版本来支持设备。

productFlavors {

    // priority than the second, and so on.
    minApi15 {
      minSdkVersion '15'
      ...
    }

    minApi16 {
      minSdkVersion '16'
   }
}

dependencies {
  minApi15Compile xxxxx
  minApi16Compile xxxxx
}

答案 1 :(得分:1)

要解决此问题,您需要降级com.firebaseui:firebase-ui-auth:2.3.0的版本。

2.3.0是最新版本。根据{{​​3}},您需要使用允许您使用minSdkVersion 15的早期版本。

希望它有所帮助。