Android Studio gradle无法编译指定的版本

我已经开发了这个小项目好几天但是今天突然间,Android Studio开始给我这个错误

Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 14 declared in library com.android.support:support-v4:21.0.0-rc1 

我明白这是因为它正在尝试编译Android-L库。 我希望它编译的版本是旧版本,但它不会。 无论我输入哪个版本,它都会一直给我上述错误。 这是依赖项。

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:20.+' compile 'com.android.support:support-v4:20.+' } 

UPDATE

我刚刚安装了Android Studio Beta并将我的依赖项更改为下面的Eugen建议。 但是,无论我指定哪个版本的appcompat支持版本,同步项目都会产生相同的错误。 它每次同步时都会出现此错误

 uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.android.support:support-v4:21.0.0-rc1 

我更新的依赖项

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:19.+' compile 'com.android.support:support-v4:19.+' } 

更新2

我认为我没有正确理解Android Studio的依赖系统。 我刚从依赖项中删除了appcompat和支持,它仍然给了我同样的错误。 我是否必须从某处删除最初包含的库?

build.gradle

*注意 – 我再次添加了这两个库并尝试同步,以防万一。 但没有变化。

 apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion "19.1.0" defaultConfig { applicationId "taz.starz.footynews" minSdkVersion 14 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:19.+' compile 'com.android.support:support-v4:19.+' compile project(':ParallaxScroll') compile files('src/main/libs/Header2ActionBar-0.2.1.jar') compile 'com.arasthel:gnavdrawer-library:+' compile 'com.koushikdutta.ion:ion:1.2.4' } 

顶级build.gradle

 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.12.+' } } allprojects { repositories { mavenCentral() } } 

Related of "Android Studio gradle无法编译指定的版本"

更新:为我的案例find真正的解决方案。 通过在build.gradle执行此操作,确保没有任何依赖项是静默的,包括support-v4 r21:

 compile("com.blahblah:blah:123") { exclude group: 'com.android.support', module:'support-v4' } 

您可以将exclude添加到所有库中,然后逐个删除,直到找出哪个正在拉入support-v4并给出错误。 并在那个上留下exclude


此处提交了一个新错误: https : //code.google.com/p/android/issues/detail?id = 72430

假设您使用的是支持存储库,则解决方法是注释或删除该行

 21.0.0-rc1 

/extras/android/m2repository/com/android/support-v4/maven-metadata.xml的本地Maven /extras/android/m2repository/com/android/support-v4/maven-metadata.xml列表文件中

使用以下更新:

 compile 'com.android.support:support-v4:20.+' 

要么

 compile 'com.android.support:support-v4:+' 

您正在使用L-preview中的支持库。

这些支持库正在声明minSdkVersion L

你必须强制minSdkVersion为’L’(检查文档)

这是因为这些API不是最终的。 这是一种阻止在最终API 21设备上安装应用程序或使用支持lib 21-r1在商店中发布应用程序的方法。

运用

 compile 'com.android.support:support-v4:19.1.0' 

您正在使用“旧”支持库19.1.0。

我遇到了同样的问题,因为我的一个依赖项指定了’support-v7:+’作为依赖项。 我能够使用gradle dependencies跟踪它

Gradle提供了一种强制解析特定版本的方法。 我最终在build.grade得到了这个:

 compile('com.android.support:appcompat-v7:19.1.0') { // really use 19.1.0 even if something else resolves higher force = true } 
 compile('com.android.support:support-v4:19.1.0'){ force = true } 

这对我有用

那是对的。 新的支持库与旧的Android版本不兼容(尚未)。

将您的gradle更改为:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:19.1.+' compile 'com.android.support:support-v4:19.1.+' } 

我希望你还有这样的东西:

 android { compileSdkVersion 19 buildToolsVersion '19.1.0' defaultConfig { minSdkVersion 14 targetSdkVersion 19 } } 

我收到了错误:

任务’:app:processDebugManifest’的执行失败。

清单合并失败:uses-sdk:minSdkVersion 1不能小于库C中声明的版本4:\ Users \ Igor \ AppData \ Local \ Android \ sdk \ samples \ android-21_1 \ legacy \ ApiDemos \ app \ build \ intermediates \ explosion-aar \ com.android.support \ support-v4 \ 21.0.3 \ AndroidManifest.xml建议:使用工具:overrideLibrary =“android.support.v4”强制使用

然后我通过将以下内容放入defaultConfig gradle块中来解决它:

 minSdkVersion 15 targetSdkVersion 21 

在Android SDK Manager中,从“额外”组安装“Android Support Repository”。 它帮助到我。 当我添加“exclude group:’com.android.support’时,模块:’support-v4’”构建完成,但发生了一些其他错误