当前位置: 首页 > 知识库问答 >
问题:

sdk: minSdkVersion 15不能与库中声明的版本L不同

左恺
2023-03-14

生成我的应用时产生以下错误

错误:任务执行失败:应用程序:processDebugManifest。

清单合并失败:使用sdk:MinSDK版本15不能不同于库C:\Users\Sybren PC\AndroidStudio项目\Tutorial\app\build\intermediates\Breaked aar\com.android.support\appcompat-v7\21.0.0-rc1\AndroidManifest.xml中声明的版本L

我在build.gradle中尝试了一些东西,但似乎没有什么效果。

错误消息指向此文件

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<!--
 Copyright (C) 2012 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="android.support.v7.appcompat" >

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

    <application />

</manifest>

AndroidManifest.xml(来自我的项目)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.sybren_pc.tutorial" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Build.gradle(Module: app)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.example.sybren_pc.tutorial"
        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.+'

}

谁能帮忙解决这个问题?

编辑

这就是我的build.gradle现在的样子。gradle构建现在没问题了。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.example.sybren_pc.tutorial"
        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.0'

我从SDK管理器中所做的更新:Android SDK Build Tools,Android Support Repository,Android Support Libary

共有1个答案

帅锦
2023-03-14

首先,您在Manifest.xml中声明了

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

您完全可以删除这些行,因为Gradle覆盖了Manifest的值,因此您只能在Gradle(Source)中指定版本。

发生错误是因为< code>build.gradle中的< code>compileSdkVersion比< code>Manifest.xml中声明的低,它对此进行了报错。

第二件事是:在<代码>构建中。gradle您使用的是构建工具版本=20.0.0,但您希望将其编译为SDK版本=21。它不能。您应该通过SDK管理器更新BuildTools。这是一篇关于最新的构建工具的文档,也是一篇很好的文章。这是一个很好的解释。

我希望这能解决你的问题。干杯

 类似资料: