android:gradle产品口味弄乱了minSdkVersion

时间:2018-10-29 19:11:55

标签: android android-studio android-gradle android-productflavors

我有一个Android应用,其最低sdk级别为15,但是从15到18,我需要导入额外的库才能使其正常工作。

为此,我在gradle构建文件上使用“ flavor”作为以下代码段

   minSdkVersion 15
    targetSdkVersion 27
    versionCode 124
    versionName "3.4.2"
    multiDexEnabled true
    flavorDimensions "api"
    productFlavors {
        older {
            dimension "api"
            minSdkVersion 15
            maxSdkVersion 18
            versionCode 1 + android.defaultConfig.versionCode

        }
        newer {
            dimension "api"
            minSdkVersion 19
            versionCode android.defaultConfig.versionCode
        }
    }

问题是在添加了这种功能之后,Android Studio不允许我在模拟器sdk级别15-18上运行它。

enter image description here

但在此之前,我只是将2种口味进行了拆分,因为使该应用在较旧版本中运行所需的“额外api”使其尺寸增加了一倍,因此我希望新型智能手机避免这种额外的开销< / p>

我怎样才能保持这两种风味并仍然在模拟器上运行?

2 个答案:

答案 0 :(得分:1)

转到

构建-> 选择构建变体...

看起来像这样的窗口应该出现在左侧边栏中:

enter image description here

使用下拉菜单选择older风味。使用该窗口右上方的按钮将其关闭,然后尝试再次运行。

答案 1 :(得分:-1)

也许不是您要找的答案,但我在19. Ice Cream Sandwich(15)于2011年问世之前未使用min SDK。

通过降低SDK 18及更低版本,您只会为您的应用失去3.5%的潜在用户。如果您的应用当前在商店中,您甚至可以查看平均使用哪个版本的应用。话虽如此,也许在您的特定情况下,迎合整个市场,甚至是低于SDK 19的3.8%的用户,都更为重要。

Here is a list of version usage