我没有这个代码有什么问题,但AdMob崩溃了App。我用AdMob制作了一个新项目,它仍然崩溃。有什么想法吗?
我导入了AdMob .jar右键单击项目>属性> Java构建路径>添加外部JAR并添加GoogleAdMobAdsSdk ... jar
layout 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>
main 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();
}
}
请帮助:)
答案 0 :(得分: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