Android Studio版本不关心我的Gradle风格?

问题描述 投票:1回答:1

我正在尝试使用flavor来构建具有不同资产质量的不同APK。问题是,在选择构建变体之后,它似乎仍然运行所有的风格,而不仅仅是正确的开启。

所以我的build.gradle看起来像这样。

task initialize{
     doLast {            
         configureObbFile.execute()
         setupScreenSupport.execute()
     }
} 

android {

  compileSdkVersion 28
  defaultConfig {
      println("Flavor: default")
      applicationId com.test.package
      minSdkVersion 19
      targetSdkVersion 28
      versionName "1.0.0"
  }

  flavorDimensions "AssetSize"
  productFlavors {
      tiny {
          println("Flavor: tiny assests")
          pak_name_suffix = "tiny"
          initialize.execute()
      }
      small {
          println("Flavor: small assests")
          pak_name_suffix = "small"
          initialize.execute()
      }
      normal {
          println("Flavor: normal assests")
          pak_name_suffix = "normal"
          initialize.execute()
      }
      tablet {
          println("Flavor: tablet assests")
          pak_name_suffix = "tablet"
          initialize.execute()
      }
      hightable {
          println("Flavor: hightable assests")
          pak_name_suffix = "hightable"
          initialize.execute()
      }
  }
  [...]
}

我得到这样的构建输出

Executing tasks: [:app:assembleHightableDebug]

> Task :app:configureObbFile

> Task :app:setupScreenSupport
Screens pak_name_suffix = "tiny"

> Task :app:initialize
> Task :app:initialize
> Task :app:initialize
> Task :app:initialize
> Task :app:initialize

> Configure project :app
Flavor: default
Flavor: tiny assests
Flavor: small assests
Flavor: normal assests
Flavor: tablet assests
Flavor: hightable assests

正如您所看到的,它确实从app:assembleHightableDebug开始,但它只是从上到下执行所有风格。我希望它只能执行HighTable分区(默认)。怎么了?我究竟做错了什么?奇怪的是它似乎只运行configureObbFile和setupScreenSupport一次,具有“微小”的味道。

android-studio android-gradle android-productflavors android-build-flavors
1个回答
0
投票

你应该从你的口味中删除每一个initialize.execute()线。并看看this知道如何正确地拒绝你的应用程序的味道。

© www.soinside.com 2019 - 2024. All rights reserved.