2

私は広告を表示するアプリケーションと、広告を表示しないアプリケーションを作成しています。このような 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 に置き換えadsCompilecompile生成すると、アプリケーション ランチャーにアプリのアイコンが 2 つ表示されます。それらの1つは機能し、もう1つは機能しません。

4

0 に答える 0