adMob.jar库和google play service.jar不能一起工作



我在市场上有一个adMod横幅的应用程序,现在我正试图添加一些谷歌地图api到我的应用程序。

我知道如何单独处理admob库或谷歌地图api。但当我尝试使用adMob和Google Maps api (Google Play服务)运行这款应用时,它们似乎发生了碰撞或类似的事情。或者google-play-services.jar和googleleadmobadssdk .jar有相同的AdMob类名。也许由于这个原因,我得到了多个。dex文件。

我的控制台错误是:

输出出错:已经准备好了[2014-05-18 18:24:40]无法执行索引:多个索引文件定义Lcom/google/ads/AdRequest$ErrorCode;[2014-05-18 18:24:40 - WorkC 3.0.9 actionBar]转换为Dalvik格式失败:无法执行索引:多个索引文件定义Lcom/google/ads/AdRequest$ErrorCode;

我担心一旦我更新了应用程序版本,就会对我的adMob造成影响。我怎样才能解决这个问题呢?

你可以去掉jar文件,使用google play服务来播放广告和地图。进行以下更改:

在你的布局中,改变ad xml命名空间:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
   -----/>

:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
   ----/>

然后,改变:

 <com.google.ads.AdView 
 android:id="@+id/ad"
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content"
 android:layout_gravity="bottom|center" 
 android:layout_marginTop="300dp" 
 ads:adSize="BANNER"
 ads:adUnitId="***************" 
 ads:loadAdOnCreate="true" />

:

<com.google.android.gms.ads.AdView
 android:id="@+id/ad"
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content"
 android:layout_gravity="bottom|center" 
 android:layout_marginTop="300dp" 
 ads:adSize="BANNER"
 ads:adUnitId="***************" />

注意,广告:loadAdOnCreate不再可用,所以你必须通过java代码加载广告在你的onCreate():

AdView adView = (AdView)this.findViewById(R.id.ad);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);

然后在manifest的application标签中,Change:

<activity android:name="com.google.ads.AdActivity"/>

:

<activity android:name="com.google.android.gms.ads.AdActivity" 
                  android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

添加:

 <meta-data android:name="com.google.android.gms.version"
               android:value="@integer/google_play_services_version"/>

不要忘记权限:

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
   <uses-permission android:name="android.permission.INTERNET"/>

不需要adMob.jar文件。Google Play Services(4.3.23)就足够了。

参见:https://developers.google.com/mobile-ads-sdk/docs/?hl=frhttps://developer.android.com/google/play-services/setup.html安装

最新更新