2017-12-13 18 views
1

私は2つのフレーバーディメンション、ステージングとベータを持っています。リンゴとバナナの2種類のフレーバーがあります。 AppleとBananaは、アプリケーションが使用する異なるmanifestHolder値を持っています。ビルドタイプを選択するとき、ビルドのフレーバをどのように分離しますか?

私の問題は、ビルドバリアントを選択するときに、2つのフレーバーを組み合わせることです。私は彼らに異なる寸法を割り当てたにもかかわらず

enter image description here

productFlavors { 
    apple { 
     dimension "staging" 
     applicationIdSuffix ".staging" 
     manifestPlaceholders = [onesignal_app_id    : "y", 
           // Project number pulled from dashboard, local value is ignored. 
           onesignal_google_project_number: "REMOTE"] 
    } 

    banana { 
     dimension "beta" 
     applicationIdSuffix ".beta" 
     manifestPlaceholders = [onesignal_app_id    : "x", 
           // Project number pulled from dashboard, local value is ignored. 
           onesignal_google_project_number: "REMOTE"] 
    } 
} 

答えて

3

それは理由dimensionのうちの2つを兼ね備えています。 1つのディメンションだけが必要です。

それでは、あなたは2 buildTypesを持っているとしましょう:あなたはproductFlavorsのために次のようにします

その後
buildTypes { 
    debug { 
     debuggable true 
     signingConfig signingConfigs.config 
    } 

    release { 
     debuggable false 
     minifyEnabled false 

     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     signingConfig signingConfigs.config 
    } 
} 

appleDebug
appleRelease

flavorDimensions "default" 

productFlavors { 
    apple { 
     dimension "default" 
     applicationIdSuffix ".staging" 
     manifestPlaceholders = [onesignal_app_id    : "y", 
           // Project number pulled from dashboard, local value is ignored. 
           onesignal_google_project_number: "REMOTE"] 
    } 

    banana { 
     dimension "default" 
     applicationIdSuffix ".beta" 
     manifestPlaceholders = [onesignal_app_id    : "x", 
           // Project number pulled from dashboard, local value is ignored. 
           onesignal_google_project_number: "REMOTE"] 
    } 
} 

この4つの最終ビルドバリアントを作成します。
bananaDebug
bananaRelease

関連する問題