Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 具有不同Min Sdk级别的即时应用程序可安装应用程序_Android_Android Instant Apps - Fatal编程技术网

Android 具有不同Min Sdk级别的即时应用程序可安装应用程序

Android 具有不同Min Sdk级别的即时应用程序可安装应用程序,android,android-instant-apps,Android,Android Instant Apps,我的android项目最低sdk级别是16。我想把它变成即时应用程序,但我需要保持最小sdk级别,但即时应用程序支持最小23。我试图在同一个项目中为可安装和即时应用程序设置不同的api级别,并试图覆盖它们,但我无法做到。那么,有没有办法在同一个项目中使用不同min sdk级别的可安装应用程序和即时应用程序呢?我唯一能够做到这一点的方法就是使用不同的产品风格。例如: instant { dimension "delivery" minSdkVersion 2

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

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

    instant {
        dimension "delivery"
        minSdkVersion 23
    }
    installed {
        dimension "delivery"
    }
注:您可以定义多个维度(例如,我有
flavorDimensions“app\u type”,“delivery”

您还可以参考有关查询的详细信息,以及建议的使用方式。
引用链接上共享的详细信息:


另一种方法是使即时应用程序APK具有所需的 minSdkVersion与此相关:

应用程序(com.android.application)清单:

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

Feature(com.android.Feature)gradle:minSdkVersion rootProject.minSdkInstant

这让我得以建立 -使用minSdk安装的应用程序 -使用minSdkInstant的即时应用程序APKs


有关风味维度的信息,请参阅此部分。

另一种方法是使用以下内容,使即时应用程序APK具有所需的
minSdkVersion

应用程序(com.android.instant.application)清单:

<uses-sdk tools:overrideLibrary="com.example.feature"/>
minSdkVersion rootProject.minSdk
minSdkVersion rootProject.minSdkInstant
功能(com.android.instant.Feature)
gradle

<uses-sdk tools:overrideLibrary="com.example.feature"/>
minSdkVersion rootProject.minSdk
minSdkVersion rootProject.minSdkInstant
这使我能够构建

  • 使用
    minSdk安装的应用程序
  • 带有
    minSdkInstant的即时应用程序APK
唯一推荐的方法是使用

除了
工具:overrideLibrary
方法之外,没有其他方法可以做到这一点

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

你能查一下吗
这个

你可以查看url以了解更多信息。你真的需要不同的minSdk吗?即时应用不需要23。请看。我要求lower sdk,以便在具有相同功能结构的单个项目下为可安装应用程序和即时应用程序工作。当然。但当你说“instant app支持min 23”时,听起来好像你认为instant app功能插件需要min 23。事实并非如此。我认为16岁是可能的。如果没有,那么@JohnOreilly就走上了正确的道路。但请注意,它通过使用missingDimensionStrategy来避免创建不必要的变体,从而对答案进行了一些改进。