java - AdMob Google Play 服务。显示插页式广告时出现空指针异常

标签 java android eclipse admob google-play-services

我正在尝试将 admob 集成到我的游戏中,但是当我尝试显示插页式广告时出现了 nullpointerexcpetion。这是我的代码.. 在 onCreate

内部
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId("a1528e2f9897fc5");

AdRequest adRequest = new AdRequest.Builder().build();

interstitial.loadAd(adRequest);

我在这一行遇到错误.. interstitial.loadAd(adRequest);

这是我的日志

12-11 17:12:41.755: E/AndroidRuntime(9357): FATAL EXCEPTION: main
12-11 17:12:41.755: E/AndroidRuntime(9357): java.lang.RuntimeException: Unable to start activity ComponentInfo{cr.logics.fastfood/cr.logics.fastfood.FastFood}: java.lang.NullPointerException
12-11 17:12:41.755: E/AndroidRuntime(9357):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at android.app.ActivityThread.access$600(ActivityThread.java:140)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at android.os.Looper.loop(Looper.java:137)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at android.app.ActivityThread.main(ActivityThread.java:4898)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at java.lang.reflect.Method.invokeNative(Native Method)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at java.lang.reflect.Method.invoke(Method.java:511)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at dalvik.system.NativeStart.main(Native Method)
12-11 17:12:41.755: E/AndroidRuntime(9357): Caused by: java.lang.NullPointerException
12-11 17:12:41.755: E/AndroidRuntime(9357):     at tj.a(SourceFile:191)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at tt.onTransact(SourceFile:81)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at android.os.Binder.transact(Binder.java:326)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at com.google.android.gms.internal.ac$a$a.a(Unknown Source)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at com.google.android.gms.ads.InterstitialAd.loadAd(Unknown Source)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at cr.logics.fastfood.FastFood.onCreate(FastFood.java:245)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at android.app.Activity.performCreate(Activity.java:5206)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083)
12-11 17:12:41.755: E/AndroidRuntime(9357):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064)
12-11 17:12:41.755: E/AndroidRuntime(9357):     ... 11 more

我已将 google-play-services-lib 添加到我的项目中,将元数据添加到 list 中,按照 google 指南执行所有操作,但我遇到了这个错误(抱歉我的测试版英语)。 有什么建议么? 提前致谢!

最佳答案

将以下内容添加到项目的 proguard-project.txt 以防止它剥离 admob 类

-keep public class com.google.android.gms.ads.** {
  public *;
}

-keep public class com.google.ads.** {
  public *;
}

并且还将以下 Activity 包含到您的 list 文件中

enter image description here

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

关于java - AdMob Google Play 服务。显示插页式广告时出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20471595/

相关文章:

java - 如何使用 JSOUP/Rest Assured Api 关闭 SSL 证书并获得登录响应?

java - 我在 jdbc 中使用 localhost 时发现网络连接错误

java - JTable 通过单击同一 JTable 中具有自定义 DeleteCellEditor 的单元格来删除行

Java - 使用套接字连接到虚拟机而不是本地主机

android - 如何在可扩展列表中为子项创建点击事件

android - 如何使用 AndroidManifest Merger

java - 将字符串转换为 json 对象并获取一些数据

android - Flutter 在现有项目中

java - 用于查找函数名称的 Eclipse 快捷方式

java - Eclipse 中缺少 Junit5 运行