Как настроить другой buildType для аромата с Gradle - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть два разных вкуса, RQT & PRD .
И для одного из них я хочу отключить конфигурацию proguard (для RQT , отключить proguard для обоих buildTypes ).
Как добавить кондиционер? Возможно ли что-то подобное?

android {
  ...
  flavorDimensions("server")
  productFlavors {
    rqt {
      dimension "server"
      applicationIdSuffix ".rqt"
    }
    prd {
      dimension "server"
      applicationIdSuffix ".prd"
    }
  }
  ...
  buildTypes {
    debug {
      (__if (flavor != RQT) then do proguard config...__)
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      proguardFile 'proguard-debug-project.txt'
    }
    release {
      (__if (flavor != RQT) then do proguard config...__)
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      proguardFile 'proguard-release-project.txt'
    }
  }
  ...
}

1 Ответ

2 голосов
/ 24 апреля 2019

Вы можете создать дополнительные типы сборки, например, debugNoProguard, releaseNoProguard и т. Д.

android {
  variantFilter { variant ->
    def needed = variant.name in [
      'rqtDebugNoProguard',
      'rqtReleaseNoProguard',       
      'prdDebug',       
      'prdRelease'
    ]

    variant.setIgnore(!needed)
  }

  buildTypes {
    debug {
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      proguardFile 'proguard-debug-project.txt'
    }

    debugNoProguard {
      debuggable true
      minifyEnabled false
      signingConfig signingConfigs.debug
    }
    ....
  }
}

Тогда вместо сборки rqtDebug вы будете строить вариант rqtDebugNoProguard или prdDebugNoProguard, когдавы хотели запустить отладочную сборку без ProGuard.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...