2014-11-06 17 views
5

sfortunatamente devo supportare Android 2.3, ma voglio usare un widget ui di terze parti con min-sdk 14 (Android 4.0).Dipendenze gradle per diversi livelli API

C'è un modo per includere la dipendenza con min-sdk 14?

Nel codice vorrei controllare Build.SDK_INT per determinare se utilizzare il widget ui con min SDK 14 o un widget UI di fallback.

risposta

0

Non è possibile ... Se si dispone di una dipendenza, è all'interno della compilation. dentro il tuo apk. Puoi scegliere se vuoi usare questa libreria di terze parti con if (SDK_INT) ma la lib verrà compilata e nella tua app.

0

Sfortunatamente, dato che devi includere una dipendenza, sarà sempre compilato nel tuo progetto.

È possibile suddividere il progetto in progetti separati. Se hai creato qualcosa come un BaseApp e un IceCreamSandwichApp puoi impostare diversi minSdkVersions per ognuno insieme a un diverso insieme di dipendenze.

Quindi si dovrebbe moduli in vostra applicazione:

your-app/BaseApp 

e

your-app/IceCreamSandwichApp 

E i file Gradle sarebbe simile a questa:

your-app/impostazioni. gradle

include ':BaseApp', ':GingerbreadApp' 

tuo-app/BaseApp/build.gradle

android { 
    buildToolsVersion '22.0.1' 

    defaultConfig { 
     minSdkVersion 9 
     compileSdkVersion 21 
     targetSdkVersion 21 
    } 

... 

    dependencies { 
     compile fileTree(dir: 'libs', include: ['*.jar']) 
    } 

} 

tuo-app/IceCreamSandwichApp/build.gradle

android { 
    buildToolsVersion '22.0.1' 

    defaultConfig { 
     minSdkVersion 14 
     compileSdkVersion 21 
     targetSdkVersion 21 
    } 

... 

    dependencies { 
     compile fileTree(dir: 'libs', include: ['*.jar']) 
     compile project(":BaseApp") 
     compile 'the.third.party:lib:here:1.0.0' 
    } 

} 
Problemi correlati