web-dev-qa-db-ja.com

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

*注-念のため、これら2つのライブラリを再度追加し、同期を試みました。しかし、変更はありません。

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()
    }
}
23
Thahzan

UPDATE:私の場合の本当の修正が見つかりました。 build.gradle

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

excludeをすべてのライブラリに追加し、どのライブラリがsupport-v4を引き込んでエラーが発生するかがわかるまで、1つずつ削除できます。 excludeはそのままにしておきます。


ここに新しいバグが報告されています: https://code.google.com/p/Android/issues/detail?id=724

サポートリポジトリを使用している場合、回避策はコメントするか、行を削除することです

<version>21.0.0-rc1</version>

<Android-sdk>/extras/Android/m2repository/com/Android/support-v4/maven-metadata.xmlのローカルMavenリポジトリリストファイル

43
TalkLittle

これを使用した最後の更新で:

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

または

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

L-previewでサポートライブラリを使用しています。

これらのサポートライブラリはminSdkVersion L

minSdkVersionを強制的に 'L'にする必要があります(ドキュメントを確認してください)

これは、これらのAPIが最終的なものではないためです。これは、最終的なAPI 21デバイスにアプリをインストールしたり、サポートライブラリ21-r1を使用してストアで公開したりするのを防ぐ方法です。

を使用して

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

「古い」サポートライブラリ19.1.0を使用している。

24

依存関係の1つが 'support-v7:+'を依存関係として指定したのと同じ問題がありました。 gradle dependenciesを使用してこれを追跡できました

Gradleは、特定のバージョンに force resolution する方法を提供します。私はbuild.gradeでこれを持っていることになりました:

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

これは私のために働いた

9
For Guru

それは正しいです。新しいサポートライブラリは、(まだ)古いAndroidバージョンと互換性がありません。

グラドルを次のように変更します。

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
 }
}
1
Eugen Martynov

エラーが発生していました:

タスク ':app:processDebugManifest'の実行に失敗しました。

マニフェストの統合に失敗しました:uses-sdk:minSdkVersion 1は、ライブラリC:\ Users\Igor\AppData\Local\Android\sdk\samples\Android-21_1\legacy\ApiDemos\app\build\intermediates \で宣言されたバージョン4より小さくすることはできませんexpanded-aar\com.Android.support\support-v4\21.0.3\AndroidManifest.xml提案:tools:overrideLibrary = "Android.support.v4"を使用して強制的に使用する

次に、defaultConfig gradleブロックに次の行を追加して解決しました。

minSdkVersion 15
targetSdkVersion 21
1
IgorGanapolsky

In Android SDK Managerは、「extra」グループから「Android Support Repository」をインストールします。これは役立ちます。「exclude group: 'com.Android.support'、module: 'support-v4 '"ビルドは完了しましたが、他のいくつかのエラーが発生しました

0
mamont