Admob以下类无法实例化:

时间:2014-05-10 15:15:23

标签: admob

我正在尝试在我的应用中添加广告,但我不断收到错误。我在AndroidManifest.xml中声明了com.google.ads.AdActivity。 并在清单中设置所需的网络权限。 并在libs中添加了GoogleAdMobAdsSdk-6.4.1.jar,这就是我的主要活动的样子

<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
 android:orientation="vertical"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:paddingLeft="5dp"
 android:paddingRight="5dp"
 android:paddingTop="@dimen/activity_vertical_margin"
 android:paddingBottom="@dimen/activity_vertical_margin"
 android:background="@drawable/background"
 tools:context="com.breakinggames.myperfectweight.MainActivity">

<com.google.ads.AdView android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    ads:adUnitId="MY ID HERE"
    ads:adSize="SMART_BANNER"
    ads:loadAdOnCreate="true"/>


</LinearLayout>

这是我得到的错误:

Rendering Problems The following classes could not be instantiated:
- com.google.ads.AdView (Open Class, Show Exception)
 Tip: Use View.isInEditMode() in your custom views to skip code or show sample data     when shown in the IDE  Exception Details java.lang.ClassNotFoundException:          org.json.JSONException   at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:142)   at java.lang.ClassLoader.loadClass(ClassLoader.java:425)   at java.lang.ClassLoader.loadClass(ClassLoader.java:358)   at com.google.ads.AdView.a(SourceFile:184)   at com.google.ads.AdView.a(SourceFile:352)   at com.google.ads.AdView.<init>(SourceFile:125)   at java.lang.reflect.Constructor.newInstance(Constructor.java:526)   at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:755)   at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)   at android.view.LayoutInflater.rInflate(LayoutInflater.java:727)   at android.view.LayoutInflater.inflate(LayoutInflater.java:492)   at     android.view.LayoutInflater.inflate(LayoutInflater.java:373)

1 个答案:

答案 0 :(得分:0)

听起来您在IDE中遇到此错误,而不是在运行时。

如果是您的IDE,那么您需要告诉IDE在哪里可以找到Admob SDK。但我不会过分担心它。我很少在IDE中查看Activity布局。而是将其部署到设备/模拟器。

注意:最新版本的Admob SDK随Google Play服务一起提供。你应该考虑升级。