在Android中集成Admob时出错

时间:2011-04-06 15:15:14

标签: android admob

我有一个完整的应用程序,我尝试添加admob。

我获得了发布商ID,我已将其添加到清单文件中。当我在设备中运行时,该应用程序在所有其他活动中正常工作。但是,当我移动到放置了admob广告的活动时,我的应用程序崩溃了,在logcat中它显示以下错误:

logcat中显示的主要错误如下:

  

04-06 20:22:30.627:ERROR / AndroidRuntime(2339):   java.lang.RuntimeException:无法启动活动   ComponentInfo {com.mnn.image0114 / com.menteon.speedimage0114.ResultPage}:   android.view.InflateException:二进制XML文件行#8:错误   膨胀类com.admob.ads.AdView

     

04-06 20:22:30.627:ERROR / AndroidRuntime(2339):引起:   android.view.InflateException:二进制XML文件行#8:错误   膨胀类com.admob.ads.AdView

     

04-06 20:22:30.627:ERROR / AndroidRuntime(2339):引起:   java.lang.ClassNotFoundException:com.admob.ads.AdView在loader中   dalvik.system.PathClassLoader@44ccc270

如何解决此错误?请帮帮我。

4 个答案:

答案 0 :(得分:8)

我遇到了同样的问题,我按照这里的说明修复了它: NoClassDefFoundError when GoogleAnalyticsTracker.getInstance() 似乎ADT的新版本17要求从项目内的“libs”文件夹导入库。所以我刚刚创建了“libs”文件夹,在那里导入我的库,然后在项目的构建路径中设置它们(基本上按照上面链接中的说明)。它修复了我使用admob和分析代码时遇到的两个问题。

答案 1 :(得分:5)

如果您使用的是最新的AdMob jar,则需要使用com.google.ads.AdView。在Sdk 4.04中肯定是这样。

话虽如此,我没有将AdView直接放入XML中,而是使用以下代码将广告放入我的XML中的LinearLayout中 -

adView = new AdView(this, AdSize.BANNER, MY_ID);
LinearLayout layout = (LinearLayout) findViewById(R.id.adMob);
layout.addView(adView);
AdRequest adRequest = new AdRequest();
adRequest.setTesting(GlobalData.DebugBuild);
adView.loadAd(adRequest);

答案 2 :(得分:2)

为了解决这个问题,我创建了一个名为/ libs的文件夹,并将GoogleAdMobAdsSdk-6.0.1.jar复制到其中。像魅力一样工作。

答案 3 :(得分:1)

是的,我同意苏丹的史蒂夫。我已经尝试了该方法,并对布局文件中的AdView小部件进行了一些额外的修改。我得到了这个,http://blog.kerul.net/2012/08/example-how-to-install-google-admob-6x.html ......

我有这样的经验,让应用程序崩溃并显示诸如此类的消息 - “错误膨胀类com.admob.ads.AdView”。做一些研究和测试我得出以下XML属性来显示AdView;

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/bg1"
android:orientation="vertical" >

<TableRow
    android:id="@+id/tableRow2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    <com.google.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
        android:id="@+id/ad"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        ads:adSize="SMART_BANNER"
        ads:adUnitId="738a44d913034b9f"
        />  
</TableRow>

<TableRow
    android:id="@+id/tableRow3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <EditText
        android:id="@+id/txtsearch"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:inputType="textMultiLine"
        android:maxLines="3"
        android:minLines="1"
        android:scrollbarStyle="outsideOverlay"
        android:scrollbars="vertical" />

</TableRow>

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >







    <Button
        android:id="@+id/btnkamus"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/search" />




    <Button
        android:id="@+id/btnsearch"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="Kesan" />


    <Button
        android:id="@+id/btncadang"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="Cadang" />

</TableRow>


<WebView
    android:id="@+id/webView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

</LinearLayout>