一旦在Android Studio中更改了构建变体,是否可以运行干净的构建任务?

时间:2018-10-02 14:07:42

标签: android gradle android-gradle android-productflavors build-variant

一旦从Android Studio中的“构建变体”窗口中更改了构建变体,是否有一种方法可以运行干净的构建任务。我在我的项目中使用List<Path> listC = Files.list(Paths.get("")).filter(p -> p.toString().endsWith(".txt")) .collect(Collectors.toList()); productFlavors,该项目共有9个构建变体。这是我的代码,用于在flavorDimensions

中创建构建变体
app/build.gradle

我在根flavorDimensions "name", "server" productFlavors { def PROPERTY = { property -> "\"${project.properties.get(property)}\"" } flavor1 { dimension "name" applicationId "com.sample.app.flavorone" ext { dev = PROPERTY('f1.devServer') qa = PROPERTY('f1.qaServer') prod = PROPERTY('f1.prodServer') } } flavor2 { dimension "name" applicationId "com.sample.app.flavortwo" ext { dev = PROPERTY('f2.devServer') qa = PROPERTY('f2.qaServer') prod = PROPERTY('f2.prodServer') } } flavor3 { dimension "name" applicationId "com.sample.app.flavorthree" ext { dev = PROPERTY('f3.devServer') qa = PROPERTY('f3.qaServer') prod = PROPERTY('f3.prodServer') } } dev { dimension "server" } qa { dimension "server" } prod { dimension "server" } applicationVariants.all { variant -> def flavors = variant.productFlavors def name = flavors[0] def environment = flavors[1] variant.buildConfigField 'String', 'SERVER_URL', "${name[server.name]}" } 中具有以下清洁的构建任务,但这并不能在更改构建变体时清除以前生成的所有构建文件夹。

build.gradle

现在,当我在这些构建版本之间切换时,它将为每个构建版本创建一个task clean(type: Delete) { delete rootProject.buildDir } 文件夹,并且不会清理以前创建的构建文件夹。当我在不执行“清理构建”的情况下运行应用程序时,有时会选择生成的错误BuildConfig,而应用程序仍指向错误的服务器。

我需要编写一个自定义任务,或者是否有更好的方法来运行构建清理任务。这样,我可以确保只有一个BuildConfig,并且该应用指向正确的服务器。

我是build/generated/的初学者,欢迎提出任何建议。

0 个答案:

没有答案
相关问题