使用矢量资产部署多个APK(android)

时间:2016-02-24 08:51:05

标签: android apk

android studio目前正在支持vector assets。根据文献我可以

  

为不同的API级别创建单独的APK。当你不包括   APK for Android 5.0中的相应光栅图像(API级别   21)和更高,APK可以小得多。更多   信息,请参阅多个APK支持。

所以我尝试创建了2个API: -

  • pre-lollipop版本包含没有矢量资产的生成的png,
  • 而棒棒糖版本仅包含矢量资产

http://developer.android.com/google/play/publishing/multiple-apks.html

  

如果您为API级别4及以上版本(Android 1.6+)上传的APK的版本代码为0400,则API级别8及以上(Android 2.2+)的APK必须为0401或更高版本。在这种情况下,API级别是唯一使用的受支持过滤器,因此版本代码必须与每个APK的API级别支持相关联,以便用户在收到系统更新时获得更新。

以下是我的gradle构建文件。

compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
    applicationId "twitch.angelandroidapps.matchit"
}
productFlavors { 
    lollipopConfig {
        minSdkVersion 21
        targetSdkVersion 23
        versionCode 3
        versionName "21.1.0"
    }
    preLollipopConfig {
        minSdkVersion 10
        maxSdkVersion 20
        targetSdkVersion 17
        versionCode 2
        versionName "10.1.0"
    }
} 
:
//snipped the rest of the build config...
:

然而,当我首先部署棒棒糖前版本,然后是棒棒糖版本,然后棒棒糖版本被存档(反之亦然)。

关于如何在Play商店中部署这两个版本的任何建议?

1 个答案:

答案 0 :(得分:0)

我弄清楚了。

当我第一次部署棒棒糖和棒棒糖前,他们会自动存档。

由于一些奇怪的原因,我必须通过点击" Move to Prod"手动将前棒棒糖版本重新投入生产。它的工作原理。

enter image description here

之后,Playstore将展示一个新的" API级别"列。

enter image description here

关于拥有更大版本代码的文献似乎也是错误的。 pre-lollipop版本需要始终是较低的VersionCode(可能是因为我的API级别不重叠?)。无论如何,我现在可以部署新的pre-lollipop版本,而无需将以前的版本存档。

enter image description here

最后,我使用了

的命名约定
  • 21xxxx for lollipop版本和
  • 10xxxx for pre-lollipop version

enter image description here

希望它有所帮助。