添加admob包的Android依赖兼容性

时间:2017-09-14 11:21:59

标签: android gradle dependencies android-gradle admob

我正在现有应用程序中添加admob,这会在现有软件包中出现兼容性错误

现有套餐

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.gms:play-services-analytics:7.8.0'
compile 'uk.co.chrisjenx:calligraphy:2.1.0'
compile 'com.github.ganfra:material-spinner:1.1.0'
compile 'com.wdullaer:materialdatetimepicker:1.5.1'
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
compile 'com.github.ganfra:material-spinner:1.1.0'
compile 'com.android.support:recyclerview-v7:23.1.0'
compile 'com.android.support:design:23.1.0'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:support-v13:23.1.0'   

}

如果我添加下面的admob包

compile 'com.google.android.gms:play-services-ads:10.2.1'

它在

上出错
compile 'com.google.android.gms:play-services-analytics:7.8.0'  
compile 'com.android.support:recyclerview-v7:23.1.0'

声明“必须使用完全相同的版本规范”,我不知道如何知道现有依赖项的兼容admob版本。我已经搜索过但没有找到有用的资源。 任何人都可以说与这些依赖关系使用的正确的admob依赖关系是什么?如何知道?

还有一个,

final NativeExpressAdView adView = (NativeExpressAdView) this.dialog.findViewById(R.id.adView3);
                **adView.loadAd(new AdLoader.Builder().build());**
                adView.setAdListener(new AdListener() {
                    public void onAdLoaded() {
                        super.onAdLoaded();
                        adView.setVisibility(View.VISIBLE);
                    }
                });

adView.loadAd(new AdLoader.Builder().build());给出错误,即Builder中的Builder(Context,String)无法应用于Builder()

我的导入

import com.google.android.gms.ads.AdRequest.Builder;

如何解决此问题。如果第二个问题与我的第一个问题无关,那么请告诉我,我会将其作为单独的问题发布

1 个答案:

答案 0 :(得分:1)

所有Google依赖项都应该是相同的版本。如果您不这样做,将发生此错误。做一件事:

更改

的版本
compile 'com.google.android.gms:play-services-analytics:7.8.0'

TO

compile 'com.google.android.gms:play-services-analytics:10.2.1'

然后添加admob dependecy

compile 'com.google.android.gms:play-services-ads:10.2.1'

修复RecyclerView错误请替换此

compile 'com.android.support:recyclerview-v7:23.1.0'

对此:

 compile 'com.android.support:recyclerview-v13:23.1.0'

并且还改变了这个

compile 'com.android.support:appcompat-v7:23.1.0'

到此

compile 'com.android.support:appcompat-v13:23.1.0'

这背后的原因是你不能使用v7和v13来收集你可以使用v7或v13。同时使用togather会产生版本兼容性错误。