大家好我是android开发的新手。我昨天下载了最新版本的android studio 1.3.2。但是当我开始一个新项目进行测试时,gradle给我一个错误。 我的朋友是
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.example.niyamat.testing3"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.+'
}
错误是
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be different than version L declared in library [com.android.support:appcompat-v7:21.0.0-rc1] C:\Users\Niyamat\Documents\Testing3\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\21.0.0-rc1\AndroidManifest.xml
我知道有一些关于同样错误的问题,但我找不到任何好的解决方案。 那么请有人帮帮我吗?
答案 0 :(得分:1)
Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be different than version L declared in library [com.android.support:appcompat-v7:21.0.0-rc1]
你应该做什么
minSdkVersion
版本。您已在 build.gradle 中声明了该内容。compileSdkVersion 21
buildToolsVersion '21.1.2'
代替您的。compile 'com.android.support:appcompat-v7:21.0.1'
首先从清单中删除此行。
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="22" />
<强>最后强>
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.niyamat.testing3"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.1'
}
答案 1 :(得分:0)
似乎你有一个以前版本的应用程序compat到特定于android L的lib文件夹。
另外,您应该将compileSdkVersion
,buildToolVersion
,targetSdkVersion
和appcompat-v7
的版本设置为相同。
在您的情况下,buildToolVersion
应为&#34; 21.1.2&#34;。
答案 2 :(得分:0)
基本上,这就是为什么android studio在你的编译中抱怨/暗示 NOT 使用.+
的原因。
compile 'com.android.support:appcompat-v7:21.+'
它强制编译使用appcompat 21的绝对最后版本com.android.support:appcompat-v7:21.0.0-rc1
(正如你从错误中看到的那样)。该版本不允许minSdkVersion 15
- 它是为Lollipop制作的。将您的编译appcompat更改为允许minSdkVersion 15解决问题的版本号。
答案 3 :(得分:0)
这是你的问题。
uses-sdk:minSdkVersion 15不能与库中声明的版本L不同[com.android.support:appcompat-v7:21.0.0-rc1]
您的sdk文件夹中包含appcompat 21的预览版,这很奇怪。
此版本随棒棒糖预览( api-L )一起发布,并具有minSdk = L
。这是您出问题的原因(因为您有minSdkVersion 15
)
你的sdk中不应该有这个文件夹。如果已更新,请查看 SDK Manager 。
然后,您可以修改build.gradle
删除+。
支持库v21
compile 'com.android.support:appcompat-v7:21.0.0'
compile 'com.android.support:appcompat-v7:21.0.2'
compile 'com.android.support:appcompat-v7:21.0.3'
支持库v22 (需要compileSdkVersion 22)
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.android.support:appcompat-v7:22.1.0'
compile 'com.android.support:appcompat-v7:22.1.1'
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:appcompat-v7:22.2.1'
支持库v23 (需要compileSdkVersion 23)
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.android.support:appcompat-v7:23.0.1'