(связано с моим вопросом здесь )
Я хочу опубликовать одноразовое обновление для моего приложения для minSdk <14 (по сравнению с текущим minSdk = 15. Я рассматриваю возможность создания двух версий моего приложения - одного, которое поддерживает уровни API ниже 14 с библиотекой поддержки Android <strong>25.4.0 , а также для уровня API 14 и новее, использующего новейшую библиотеку поддержки 27.1.1, которая поддерживает только API 14 и выше.
Может ли раздел dependencies
в build.gradle поддерживать импорт разных пакетов для разных версий?
Моя первая попытка выглядит так:
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. Открыть файл Показать подробности