提问人:sockeqwe 提问时间:11/7/2014 更新时间:8/4/2015 访问量:1822
不同 API 级别的 Gradle 依赖项
Gradle dependencies for different api levels
问:
不幸的是,我必须支持 Android 2.3,但我想使用具有 min-sdk 14 (Android 4.0) 的第三方 ui 小部件。
有没有办法将依赖项包含在 min-sdk 14 中?
在代码中,我会检查以确定是将 ui 小部件与 min SDK 14 一起使用还是使用后备 UI 小部件。Build.SDK_INT
答:
0赞
roiberg
8/4/2015
#1
这是不可能的......如果你有一个依赖项,它就在你的编译中。在你的apk中。您可以选择是否要将此第三方库与 if(SDK_INT) 一起使用,但该库将被编译并放入您的应用程序中。
0赞
Andrea Thacker
8/4/2015
#2
不幸的是,由于您必须包含依赖项,因此它将始终被编译到您的项目中。
您可以将项目分解为单独的项目。如果您创建了类似 a 和 a 的东西,您可以为每个设置不同的依赖项以及一组不同的依赖项。BaseApp
IceCreamSandwichApp
minSdkVersions
因此,您必须在应用中设置模块:
your-app/BaseApp
和
your-app/IceCreamSandwichApp
您的 gradle 文件将如下所示:
你的应用/settings.gradle
include ':BaseApp', ':GingerbreadApp'
你的应用程序/BaseApp/build.gradle
android {
buildToolsVersion '22.0.1'
defaultConfig {
minSdkVersion 9
compileSdkVersion 21
targetSdkVersion 21
}
...
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
}
your-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'
}
}
评论