Fusão manifesto falhou: usa -sdk : minSdkVersion 10 não pode ser menor do que a versão L declarou em com.android.support:appcompat-v7:21.0.0-rc1 biblioteca

? Andrew @ | Original: StackOverFlow
---

Obteve o erro acima após o download versão L visualização no Android Studio, quando meu projeto tinha minSdkVersion 19 .

Além disso, ao definir mindSdkVersion como abaixo:

defaultConfig {
....
          minSdkVersion 'L'
....
    }

Recebo dezenas de erros, como mostrado abaixo, a respeito dos recursos de AppCompat-v7-21 :

/home/user/workspace/project/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0-rc1/res/values-v21/values.xml
Error:Error retrieving parent for item: No resource found that matches the given name '@android:TextAppearance.Material.SearchResult.Subtitle'.

Então, eu tenho duas perguntas:

Why does AS complain about minSdkVersion ? I presume because AppCompat-v7 21 supports only L release; but why ? Also, will it support only L release when it is going to be officially released in autumn too ? Because that would be a problem... Or is it just a temporary restriction in order for apps not be be pushed to Play Store, as specified in the Google I/O 2014 Keynote ? Why does AppCompat-v7 21 complain about those errors, as I already set mindSdkVersion to L ?
---

Top 5 Responder

1Andrew @
compileSdkVersion 'android-L'

BOOM. Done.

A última edição : A partir de Android 5.0, release, isso não é mais um problema, apenas como alvo nível API 21 diretamente.

Editar para maior clareza : De fato, como David_E especificado abaixo, esta solução só funciona para a versão L, se você tentar implantar o aplicativo em um dispositivo abaixo L ( ex < = 4.4.4 ) que irá queixar-se de OLD_SDK . Para que o aplicativo funcione pré -L você ainda precisa usar o velho lib apoio v20 + app compat + targetVersionSdk e compileVersionSdk

 dependencies {

        compile 'com.android.support:appcompat-v7:20.+'
        compile 'com.android.support:support-v4:20.+'
    }

    android {
        compileSdkVersion 20
        buildToolsVersion '20'

        defaultConfig {
            applicationId "com.example.application"
            minSdkVersion 10
            targetSdkVersion 20
            versionCode 1
            versionName "1.0"
        }
}
 
< ; > Boardy {*} {* 499448 } 2014/06/26 21:04:58  

A maneira que funcionou para mim foi instalar o Android Estúdio Beta (Não Release Preview, o Beta foi lançado hoje como parte do IO ) .

Desinstalar a versão pré-lançamento e instalar o Beta e abra seu projeto. Ele vai pedir para você usar SDK projeto ou Estúdio SDK, use SDK do Android Studio.

Ir para arquivo seus projetos local.properties e onde você tem sdk.dir assegurar que quaisquer barras invertidas () são dobrou .eg .

Ir ao Projeto Estrutura > SDK e garantir esta apontando para o SDK Android no meu PC era C: Arquivos de Programas ( x86) Androidandroid - studioSDK .

Então, em seus projetos e todas as bibliotecas que você tem arquivos build.gradle onde você tem

compile 'com.android.support:support-v4 Mude-o para compile 'com.android.support:support-v4:20+

Ressincronizar os ficheiros e todos fixos gradle

2David_E @

A resposta afirmou http://stackoverflow.com/a/24437408/1700793 pode não funcionar corretamente, como ele vai fazer o seu aplicativo só funciona para Android L.

A fim de conservar a compatibilidade com versões mais antigas do sistema operacional Android, mudar a ser dependente gradle

From:

compile 'com.android.support:appcompat-v7:+'

To:

compile 'com.android.support:appcompat-v7:20.+'

Observe que o erro reclama de com.android.support:appcompat-v7:21.0.0-rc1, a razão para isso é que o uso de appcompat-v7:+ dirá gradle para importar a última dependência do appcompat-v7 biblioteca, infelizmente, esta última versão só está trabalhando para Android L, por isso temos de apontam para uma versão anterior.

Esperemos que o Google irá corrigir isso no futuro próximo .

3Oakenwind @

Apenas além : As outras respostas aqui não corrigiu o problema para mim, mas eu encontrei uma maneira alternativa para resolver o problema android- l no Android Estúdio 0.8.0 . Depois que eu fiz alterar as dependências no build.gradle, o problema manteve tristemente ocorrendo, que o código diria OLD_SKD . Eu estou usando um Galaxy S2 .

Além de mudar todas as coisas : 19+ :

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

Ele ainda não iria funcionar, então eu tive que recuar em todos os lugares possíveis:

android {
    compileSdkVersion 19
    buildToolsVersion '19.1'
    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 19
        versionCode 1
        versionName '1.0'
    }

Agora, o aplicativo funciona de novo no telefone . Eu provavelmente deveria ter um novo celular, mas por agora, espero que isso possa ajudar alguém.

4BubbaGum @

Para forçar a trabalhar com uma versão de trabalho Basta alterar as dependências gradle como este :

dependencies {
    compile 'com.android.support:gridlayout-v7:19.0.1'
    compile 'com.android.support:appcompat-v7:19+'
    ...
}

was:

compile 'com.android.support:appcompat-v7:+'

N.B.

Eu atualizei Ferramentas & amp ; Extras do gerente SDK .

depois que o projeto foi quebrado I fixa-lo como mostrado acima.

Por enquanto eu não atualizar android L & amp; 4.4W ( erros suficientes para hoje :-( )