首页 > 解决方案 > 当我使用风味时,如何构建原始版本/调试版本?有没有办法为每种口味创建文件夹?& 一次构建所有类型?

问题描述

我只用这个。

    buildTypes {
        release {
            minifyEnabled true
            debuggable false
            multiDexEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            firebaseCrashlytics {
                mappingFileUploadEnabled true
            }
        }
        debug {
            minifyEnabled false
            debuggable true
            multiDexEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            firebaseCrashlytics {
                mappingFileUploadEnabled false
            }
        }
    }

而且我需要为不同的构建环境提供口味。所以,我补充说,

    flavorDimensions "type"


    productFlavors {
        op {
            ...
        }
        dev {
            ...
        }
        edu {
            ...
        }
        mobile{
            ...
        }
    }

然后我得到 xRelease 和 xDebug。例如)opRelease/opDebug、eduRelease/eduDebug 等。因此,当我在安装了 xxx-release.apk 的应用程序上安装 xxx-opRelease.apk 以进行更新时,这会导致崩溃。

我猜它不更新的原因是它识别出构建类型不同,所以它是不同的应用程序并且无法更新。

我预计 op 类型会像以前一样工作(发布/调试构建类型)。但它没有。那么,我该如何解决这个问题?我想单独保留环境,因为它们每个都有它的用途,并且在我安装它们时它们不冲突,我可以将它们单独安装在一台设备上。

其他的好奇心是,

  1. 在项目结构中是否有自动为每种类型创建文件夹?(我只是一一创建文件夹并添加google-service.json)。
  2. 我想知道是否有任何方法可以一次构建所有构建类型,或者至少调试一个并一次将一个发布到一个文件夹。

标签: androidbuild.gradleandroid-productflavorsandroid-flavorsandroid-build-type

解决方案


推荐阅读