2016-03-12 6 views
7

Viene visualizzato questo errore quando provo a creare il mio progetto.Errore nel file values-23 generato in Android

Error:(3, 5) No resource found that matches the given name (at 'cardBackgroundColor' with value '?android:attr/colorBackgroundFloating'). 
Error:Execution failed for task ':app:processDebugResources'. 
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\Home\AppData\Local\Android\sdk\build-tools\23.0.2\aapt.exe'' finished with non-zero exit value 1 

E quando lo scatto sopra mi porta al file v-23 valori di cartella generato che contiene codice seguente.

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="CardView" parent="Base.CardView"> 
     <item name="cardBackgroundColor">?android:attr/colorBackgroundFloating</item> 
    </style> 
</resources> 

Questa è la mia applicazione di file Gradle

apply plugin: 'com.android.application' 
android { 
    compileSdkVersion 22 
    buildToolsVersion '23.0.2' 

    defaultConfig { 
     applicationId "com.xxxx" 
     minSdkVersion 19 
     targetSdkVersion 22 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:22.2.1' 
    compile 'com.android.support:support-v4:22.2.1' 
    compile 'com.android.support:design:22.2.1' 
    compile 'com.commit451:inkpageindicator:1.0.2' 
    compile 'com.github.bumptech.glide:glide:3.7.0' 
    compile 'ch.acra:acra:4.5.0' 
    compile 'com.pkmmte.view:circularimageview:1.1' 
    compile 'com.google.android.gms:play-services-maps:7.8.0' 
    compile 'com.google.android.gms:play-services-location:7.8.0' 
    compile 'com.facebook.android:facebook-android-sdk:4.+' 
    compile 'com.google.android.gms:play-services:7.8.0' 
    compile 'com.google.code.gson:gson:2.6.2' 

} 

E quando cambio tutto in Gradle alla versione 23 questo errore va via, ma come io sto usando le librerie HTTP e vengono rimossi dal 23 versione perciò io Sono obbligato ad usare la versione 22. Il mio progetto stava funzionando perfettamente bene prima e improvvisamente iniziò a dare questo errore. L'unica cosa che ho fatto è stato installare un repository di supporto che stavo usando in un altro progetto e inizia a dare errori anche in questo progetto. Un modo per risolvere questo errore?

+0

Forse è necessario aggiornare 'compileSdkVersion 22' e 22'' targetSdkVersion alla versione 23? –

+0

Inoltre, sì 'HttpClient' è stato rimosso ed è consigliabile utilizzare invece' HttpURLConnection'. –

+0

Lo so, ma questo è un vecchio progetto su cui sto lavorando e non posso modificare il flusso completo ora –

risposta

17

compile 'com.facebook.android:facebook-android-sdk:4.+' esigenze V-23

Nel mio caso io uso v-22 so ho cambiato la versione di sdk di Facebook a 4.8 compile 'com.facebook.android:facebook-android-sdk:4.8.0'

+0

Sei un risparmiatore di vita! Grazie. Sto usando anche l'SDK di Facebook e ho riscontrato questo problema. ++ 1 –

+0

Questo è il vero affare –

+0

aggiungendo ''com.facebook.android: facebook-android-sdk: 4.8.0'' produce questo errore' java.lang.NoClassDefFoundError: android.support.v4.hardware.fingerprint. FingerprintManagerCompatApi23 $ 1' –

6

Questo errore ha perfettamente senso, visto che ?android:attr/colorBackgroundFloating era solo added in API 23 e si utilizza compileSdkVersion 22.

Quindi, per correggere l'errore, è necessario compileSdkVersion 23 includere tale risorsa nella build. Inoltre, avere un file di valori v23 non ha senso quando hai targetSdkVersion 22, che dice che non stai mirando comunque ai dispositivi v23.

E hai detto che le "librerie http" che stai utilizzando sono sparite? Se lei si riferisce al HttpClient dal pacchetto org.apache, quindi è possibile aggiungere nuovamente includendo questo nei vostri build.grade

android { 
    useLibrary 'org.apache.http.legacy' 
} 
+0

sì, sto usando quello –

+0

Sì, e questo è il problema. Vedi le mie modifiche –

+0

questo è quello che sto provando in questo momento –

0

se non si desidera aggiornare i moduli, inoltre la soluzione esclude i moduli in build.gra dle con compilare tag

compile('com.facebook.android:facebook-android-sdk:4.11.0') 
    { 
     exclude module: 'cardview-v7' 
    }