0

我不知道这段代码有什么问题,但 AdMob 会使应用程序崩溃。我做了一个只有 AdMob 的新项目,但它仍然崩溃。有任何想法吗?

我导入了 AdMob .jar 右键单击​​项目 > 属性 > Java 构建路径 > 添加外部 JAR 并添加了 GoogleAdMobAdsSdk...jar

布局xml:

<LinearLayout xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/linearLayout"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<com.google.ads.AdView
    android:id="@+id/adView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    ads:adUnitId="12345678901234567890"
    ads:adSize="BANNER"
    ads:loadAdOnCreate="true" />
</LinearLayout>

主Java:

package com.example.admob;

import android.app.Activity;
import android.os.Bundle;
import com.google.ads.AdRequest;
import com.google.ads.AdView;

public class MainActivity extends Activity {
AdView adView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    AdRequest adR = new AdRequest();
    adR.addTestDevice("4df1559f64826fed");
    adView = (AdView)findViewById(R.id.linearLayout);
    adView.loadAd(adR);

}

@Override
public void onDestroy() {
    if (adView != null) {
        adView.destroy();
    }
    super.onDestroy();
}

}

请帮忙 :)

4

1 回答 1

1

你的问题是:

adView = (AdView)findViewById(R.id.linearLayout);

相反,你想要:

adView = (AdView)findViewById(R.id.adView);

找到 AdView 而不是 LinearLayout。您的应用程序正在崩溃,因为您试图将 LinearLayout 转换为 AdView。

我建议您查看 Android 的 LogCat 输出,以便了解它为何抱怨。当您开始使用 Android 时,它将是一个有用的工具。您可以通过以下方式将其添加到 Eclipse 中:

Window -> Show View -> Other... -> Android/Logcat
于 2013-04-02T04:03:55.690 回答