Различные зависимости для разных SDK и вкусов - PullRequest
1 голос
/ 10 апреля 2020

В моем приложении Android (build.gradle) я использую конфигурацию по умолчанию с двумя вариантами продукта (два APK):

defaultConfig {
applicationId "xyz"
minSdkVersion 16
targetSdkVersion 29
versionCode 20200410
}

//

flavorDimensions "version"
    productFlavors {
        freeVersion {
            dimension "version"
            applicationId "xyz.free"
            versionName "1.0.0 Free"
        }
        paidVersion {
            dimension "version"
            applicationId "xyz.pro"
            versionName "1.0.0 Pro"
        }
    }

Вкус freeVersion показывает рекламу, поэтому я использую mis c. указать c зависимости от рекламной сети MoPub, например:

freeVersionImplementation('com.mopub:mopub-sdk-interstitial:5.10.0') { transitive = true }

Теперь проблема в том, что MoPub недавно установил minSdkVersion равным 21. Однако я все еще хотел бы поддерживать более старые версии Android. до minSdkVersion 16.

Итак, в основном мне нужно следующее…

  1. minSdkVersion 16 с зависимостями MoPub от старого MoPub SDK (разновидность freeVersion).
  2. minSdkVersion 21 с зависимостями MoPub от нового MoPub SDK (разновидность freeVersion).
  3. mindSdkVersion 16 без зависимостей MoPub (вариант paidVersion)

Как мне выполнить такую ​​настройку в build.gradle? В итоге у меня будет три APK, или это можно решить с помощью двух APK?

...