(与我的问题here相关)
我想为minSdk<我的应用发布一次性更新14(与当前的minSdk = 15相比。我正在考虑创建我的应用程序的两种风格 - 一种支持API级别低于14,Android支持库 25.4.0 ,以及API级别14和更高版本它使用最新的支持库27.1.1,它仅支持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。打开文件显示详细信息
答案 0 :(得分:0)
build.gradle的
dependencies
部分是否支持针对不同风格的不同包导入?
您可以指定:
productFlavors {
f1 {
//..
}
f2 {
//..
}
}
dependencies{
f1Implementation 'com.android.support:appcompat-v7:XX.2.1'
f2Implementation 'com.android.support:appcompat-v7:27..1'
}
更多info here。