android - 如何在 build.gradle 中使用不同的依赖项?
问题描述
(与我的问题有关)
我想为我的应用程序发布一次更新 minSdk < 14(与当前的 minSdk = 15 相比。我正在考虑创建我的应用程序的两种风格 - 一种支持低于 14 的 API 级别和 android 支持库25.4.0,对于使用最新支持库 27.1.1 的 API 级别 14 和更新版本,仅支持 API 14 及更高版本。
build.gradle 部分可以dependencies
支持不同风格的不同包导入吗?
我的第一次尝试是这样的:
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
flavorDimensions "standard", "oldApi"
defaultConfig {
versionCode 37
versionName "2.1.3"
applicationId "org.app"
}
productFlavors {
standard {
dimension "standard"
targetSdkVersion 27
minSdkVersion 15
}
oldApi {
dimension "oldApi"
versionNameSuffix "X" //for old devices
targetSdkVersion 14
minSdkVersion 8
maxSdkVersion 14
}
}
signingConfigs {...}
}
buildTypes {
release {...}
debug {...}
}
}
dependencies {
standardImplementation project(path: ':MyappLibrary', configuration: 'standard')
oldApiImplementation project(path: ':MyappLibrary', configuration: 'oldApi')
}
和:
apply plugin: 'com.android.library'
android {
compileSdkVersion 27
flavorDimensions "standard", "oldApi"
productFlavors {
standard {
dimension "standard"
}
oldApi {
dimension "oldApi"
}
}
}
dependencies {
api 'com.dropbox.core:dropbox-core-sdk:3.0.6'
standardApi "com.android.support:appcompat-v7:$package_version"
standardApi "com.android.support:support-v4:$package_version"
oldApiApi 'com.android.support:appcompat-v7:25.4.0'
}
错误(注意粗体部分):
无法解析“:app@ standardOldApiDebug /compileClasspath”的依赖关系:无法解析项目:MyappLibrary。
无法解析“:app@ standardOldApiDebugAndroidTest /compileClasspath”的依赖关系:无法解析项目:MyappLibrary。打开文件显示详细信息
解决方案
build.gradle 部分可以
dependencies
支持不同风格的不同包导入吗?
您可以指定:
productFlavors {
f1 {
//..
}
f2 {
//..
}
}
dependencies{
f1Implementation 'com.android.support:appcompat-v7:XX.2.1'
f2Implementation 'com.android.support:appcompat-v7:27..1'
}
更多信息在这里。
推荐阅读
- php - php。这两个功能有什么不同?
- c# - 在 Azure Function App 中全局获取 ExecutionContext
- python - 操作在函数内定义的多个 Python 海龟
- delphi - 如何将焦点设置回delphi中的表单输入?
- css - 如何删除谷歌地图标题?
- python - 如何根据多个先前值的熊猫条件计算新列
- javascript - javascript,如何知道变量的原始名称(不可能?)
- node.js - hexo 和发生 Unexpected 标签
- sql-server - 如果 start 不是从 0 开始,我们是否需要从 SUBSTRING 长度中删除一些字符?
- rest - Why posting to PayPal sandbox API not working for me?