通过产品口味增加对应用程序的依赖

时间:2018-11-26 13:14:32

标签: android google-play-services android-app-bundle

我正在试用Android最新的应用打包和交付模型App Bundles

我创建了一个动态功能模块,并定义了对主应用程序的依赖关系。

implementation(':app')

现在我的app模块具有不同的productFlavors

productFlavors {
  free {
    ...
  }

  pro {
    ...
  }
}

我的动态功能不需要任何产品口味。但是我现在在gradle同步中收到以下错误-

Unable to resolve dependency for ':dynamic_feature@debug/compileClasspath': 
Could not resolve project :app.

我可以通过在动态功能模块中定义相同的productFlavors来解决此问题,但这是否绝对必要?

我要概括一种情况,我有许多不同的子模块和productFlavors,并且在每个模块中定义productFlavors感觉很多余。

1 个答案:

答案 0 :(得分:0)

在这种情况下,您必须为没有味道的动态功能模块声明一个missingDimensionStrategy

在您的com.android.dynamic-feature模块中,您需要添加类似的内容

android {
// other things
    defaultConfig {
        // other things
        missingDimensionStrategy 'pro' // or whichever dimension you want to use
    }
}

您可以在documentation中找到有关此内容以及为什么这样做的更多信息。