私は広告を表示するアプリケーションと、広告を表示しないアプリケーションを作成しています。このような 2 つのフレーバーを作成しました。
productFlavors {
noAds {
applicationId 'com.example.pro'
}
ads { }
}
依存関係を次のように宣言します。
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:25.0.1'
compile 'com.android.support:design:25.0.1'
compile 'com.android.support:customtabs:25.0.1'
compile 'com.android.support:preference-v14:25.0.1'
adsCompile 'com.google.android.gms:play-services-ads:9.8.0'
}
compile
アプリは代わりにコンパイルされますadsCompile
が、不要なものを含めたくありません。
エラーなしで広告フレーバーをコンパイルできますが、noAds は次のエラーをスローします。
error: package com.google.android.gms.ads does not exist
error: cannot find symbol class AdView
error: cannot find symbol class AdRequest
このエラーは、ads フレーバー クラス (com.example.Main) に表示されますが、noAds クラスには表示されません。
また、noAds APK に置き換えadsCompile
てcompile
生成すると、アプリケーション ランチャーにアプリのアイコンが 2 つ表示されます。それらの1つは機能し、もう1つは機能しません。