2014-05-01 22 views
5

Sto cercando di aggirare un problema fastidioso con Gradle che non consente alle librerie di avere diversi sdk min/target. La soluzione era aggiungere quanto segue a build.gradle.Android Studio Gradle Impossibile risolvere il simbolo 'applicationVariants'

android.applicationVariants.all{ variant -> 
    // This is an annoying hack to get around the fact that the Gradle plugin does not support 
    // having libraries with different minSdkVersions. Play Services has a min version of 9 (Gingerbread) 
    // but Android Maps Utils supports 8 (Froyo) still 
    variant.processManifest.doFirst { 
     File manifestFile = file("${buildDir}/exploded-bundles/ComGoogleMapsAndroidAndroidMapsUtils03.aar/AndroidManifest.xml") 
     if (manifestFile.exists()) { 
      println("Replacing minSdkVersion in Android Maps Utils") 
      String content = manifestFile.getText('UTF-8') 
      content = content.replaceAll(/minSdkVersion="8"/, 'minSdkVersion=\"9\"') 
      manifestFile.write(content, 'UTF-8') 
      println(content) 
     } 
    } 
} 

Tuttavia, quando lo faccio, ottengo un errore che non è possibile risolvere ApplicationVariants. Come posso risolvere questo?

+3

L'IDE ti darà molti errori non corretti, se utilizzi Android Studio. Ignorali se si costruisce in modo pulito. Guardando il mio file di build, ottengo anche quell'errore per ApplicationVariants ma esso comunque si costruisce. – ashishduh

+0

Huh, hai ragione. Fallo una risposta! – styler1972

+0

Funziona bene per me. Ragazzi, potete aggiungere una risposta? @ styler1972 –

risposta

1

A parte questo, si tratta di un bug di Android Studio e mi sta dicendo che ci sono errori in cui non ce n'è. Costruire e ignorare funziona bene.

Problemi correlati