2

短くても、フレーバー設定を別の.gradleファイルに保存する方法はありますか?フレーバー設定を別の.gradleファイルに保存する

詳細については、私はflavorGermany.gradle、flavorUkraine.gradle、flavorItaly.gradleなどのフレーバーごとの.gradleファイルを、 'apply from:'ディレクティブと一緒にメインのgradleに含めたいと思います。 各フレーバ.gradleには、署名とビルドの設定が含まれます。

答えて

7

もちろん可能です。これらのファイルをアプリケーションフォルダに配置し、次にアプリケーションフォルダbuild.gradleをインポートします。

あなたflavorGermany.gradleは次のようになります

:別の.gradleで味の署名を設定する際

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

非常にいいです、それは動作します。私はまた、別の答えのさらなるステップについての情報を追加しました。 – Mykola

+0

はすべてのフレーバーにflavourRandomCountryグラデルファイルが含まれていますか? – Ewoks

1

android { 
    productFlavors { 
     flavorGermany {} 
    } 
} 

そして、あなたのbuild.gradle(アプリ)のものをインポートファイル:

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

flavorGermany.gradleでKeystoreHelperが使用されていますこの方法:インポートエラーがなくなったとAndroid Studioは、追加を認識することができました。この変更により

buildscript { 
    repositories { 
     mavenCentral() 
    } 

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

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

が、私は「アンドロイド」定義の前にこれを追加する必要がありました。この問題を解決するには別の.gradleファイルに記述されています。