2

很短 - 是否有一種方法可以將風味配置保存在單獨的.gradle文件中?保持風味配置在單獨的.gradle文件

欲瞭解更多詳細信息 - 我想每個味道.gradle文件(如flavorGermany.gradle,flavorUkraine.gradle,flavorItaly.gradle等),將包括'應用:'指令到主Gradle 。 每個flavor .gradle將包含簽名和構建配置。

回答

7

當然可以。只需將這些文件放在應用程序文件夾中,然後在應用程序文件夾build.gradle中導入這些文件。

你flavorGermany.gradle應該是這樣的:

android { 
    productFlavors { 
     flavorGermany {} 
    } 
} 

然後你導入這些在你的build.gradle(APP):

apply plugin: 'com.android.application' 
apply from: 'flavorGermany.gradle' 
apply from: 'flavorUkraine.gradle' 
+0

非常好,它的工作原理。我還在單獨的答案中添加了更多關於進一步步驟的信息。 – Mykola

+0

是不是用這種解決方案包含所有flavourRandomCountry gradle文件的所有口味? – Ewoks

1

雖然在一個單獨的.gradle配置味簽約文件我得到了一個粘滯的錯誤告知:

flavorGermany.gradle: 1: unable to resolve class com.android.ide.common.signing.KeystoreHelper 

在flavorGermany.gradle中使用KeystoreHelper這種方式:

android { 
    signingConfigs { 
     germany { 
      storeFile = file(KeystoreHelper.defaultDebugKeystoreLocation()); 
      storePassword = "some_password"; 
      keyAlias = "some_key"; 
      keyPassword = "some_other_key"; 
     } 
    } 
    // other configs ... 
} 

爲了解決這個問題,我有「機器人」的定義之前,補充一點:

buildscript { 
    repositories { 
     mavenCentral() 
    } 

    dependencies { 
     // Android gradle plugin 
     classpath 'com.android.tools.build:gradle:2.1.3' 
    } 
} 

隨着這一變化的導入錯誤已經和Android Studio軟件將能夠識別的附加風味描述在一個單獨的.gradle文件中。