具有不同Min Sdk级别的Instant App Installable应用程序

时间:2018-02-14 07:18:40

标签: android android-instant-apps

我的android项目min sdk级别是16.我想把它变成即时应用程序,但我需要保持min sdk级别但是即时应用程序支持min 23.我试图为可安装和即时应用程序设置不同的api级别同样的项目,并试图覆盖它们,但我无法做到。那么有没有办法在可安装应用程序和具有不同最小sdk级别的即时应用程序的同一项目中工作?

3 个答案:

答案 0 :(得分:1)

另一种方法是让即时应用APK拥有所需的 minSdkVersion

App(com.android.instant.application)清单:

<uses-sdk tools:overrideLibrary="com.example.feature"/>

App(com.android.instant.application)gradle

minSdkVersion rootProject.minSdk

功能(com.android.instant.feature)gradle

minSdkVersion rootProject.minSdkInstant

这让我可以构建

  • 已安装应用minSdk
  • 即时应用 APK minSdkInstant

唯一推荐的方法是使用flavors

tools:overrideLibrary方法外,没有其他方法可以做到这一点。

APK是从 功能插件 生成的,而不是来自 即时应用插件

你可以查看android-instant-apps/configuration-apks/features/build.gradle 这个SO Question

答案 1 :(得分:0)

我能够做到这一点的唯一方法是使用不同的产品口味。例如:

    instant {
        dimension "delivery"
        minSdkVersion 23
    }
    installed {
        dimension "delivery"
    }

请注意,您可以定义多个维度(例如我有flavorDimensions "app_type", "delivery"

答案 2 :(得分:0)

您还可以参考this AIA minSdkVersion bug查询有关查询的详细信息,并提供使用口味的推荐方法 引用链接上分享的详细信息:

  

另一种方法是让即时应用APK具有所需的功能   minSdkVersion就是这样:

     

App(com.android.application)清单:

     

App(com.android.application)gradle:minSdkVersion rootProject.minSdk

     

功能(com.android.feature)gradle:minSdkVersion   rootProject.minSdkInstant

     

这让我可以建立     - 使用minSdk安装应用程序     - 使用minSdkInstant的即时应用APK [/ p>

另请参阅此link以获取有关风味维度的信息。