我正在现有应用程序中添加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;
如何解决此问题。如果第二个问题与我的第一个问题无关,那么请告诉我,我会将其作为单独的问题发布
答案 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会产生版本兼容性错误。