当我尝试在我的应用程序中获得admob时,我的应用程序得到强制关闭

问题描述:

您好我正在尝试为我的应用程序第一次添加admob。我读过很多信息(包括*)。但是我仍然没有运气。我的应用程序正在关闭。 以下是我迄今为止尝试过的方法。当我尝试在我的应用程序中获得admob时,我的应用程序得到强制关闭

AndroidManifest.xml中

我已经添加应用程序标记

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

中的这些线,我ASLO我添加下面的行只是

<Meta-Data android:value="a14f9xxxxx(id from admob)" android:name="ADMOB_PUBLISHER_ID"/> 

attr.xml

<?xml version="1.0" encoding="utf-8"?> 
    <resources> 
    <declare-styleable name="com.admob.android.ads.AdView">    
     <attr name="backgroundColor" format="color" /> 
     <attr name="primaryTextColor" format="color" /> 
     <attr name="secondaryTextColor" format="color" /> 
     <attr name="keywords" format="string" /> 
     <attr name="refreshInterval" format="integer" /> 
    </declare-styleable> 
    </resources> 

frontpage.xml(布局为我的FrontPage活动

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:myapp="http://schemas.android.com/apk/res/simple.stocktaketrial" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
... 
some other layout and components here 
... 

<com.admob.android.ads.AdView  
     android:id="@+id/ad" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     myapp:backgroundColor="#000000" 
     myapp:primaryTextColor="#FFFFFF" 
     myapp:secondaryTextColor="#CCCCCC" 
/> 
</LinearLayout> 

我在lib文件夹,并内置通加GoogleAdMobAdsSdk-6.0.0。

我在做什么错?

我已经阅读在布局中添加admob的方式比在代码中添加java更好。所以如果这是真的,我想保持它的方式。

感谢您提前给予的协助。

这里是logcat输出。

06-27 12:24:56.630: E/AndroidRuntime(25265): FATAL EXCEPTION: main 
06-27 12:24:56.630: E/AndroidRuntime(25265): java.lang.RuntimeException: Unable to start activity ComponentInfo{simple.stocktaketrial/simple.stocktaketrial.FrontPage}: android.view.InflateException: Binary XML file line #77: Error inflating class com.admob.android.ads.AdView 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.os.Handler.dispatchMessage(Handler.java:99) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.os.Looper.loop(Looper.java:123) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.app.ActivityThread.main(ActivityThread.java:4627) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at java.lang.reflect.Method.invokeNative(Native Method) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at java.lang.reflect.Method.invoke(Method.java:521) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at dalvik.system.NativeStart.main(Native Method) 
06-27 12:24:56.630: E/AndroidRuntime(25265): Caused by: android.view.InflateException: Binary XML file line #77: Error inflating class com.admob.android.ads.AdView 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.app.Activity.setContentView(Activity.java:1647) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at simple.stocktaketrial.FrontPage.onCreate(FrontPage.java:25) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
06-27 12:24:56.630: E/AndroidRuntime(25265): ... 11 more 
06-27 12:24:56.630: E/AndroidRuntime(25265): Caused by: java.lang.ClassNotFoundException: com.admob.android.ads.AdView in loader dalvik.system.PathClassLoader[/data/app/simple.stocktaketrial-2.apk] 
06-27 12:24:56.630: E/AndroidRuntime(25265): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 
06-27 12:24:56.630: E/AndroidRuntime(25265): at android.view.LayoutInflater.createView(LayoutInflater.java:466) 
06-2 7 12:24:56.630: E/AndroidRuntime(25265): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565) 
06-27 12:24:56.630: E/AndroidRuntime(25265): ... 20 more 
+0

你有一些logcat的输出? – Eric

+0

感谢您的回复。是的,我加入了我的帖子。 – user1484246

+0

您在*中显然是新手。发布这样的问题,你需要展示你所做的事情的知识,你对问题的研究成果,你做了什么来尝试解决问题,展示你已经付出了多少努力。 – t0mm13b

它看起来像你错过了在AndroidManifest.xml和“元数据”不正确的情况下,活动...

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="...." android:versionCode=".." android:versionName="..."> 
    <application android:icon="...." android:label="...."> 
     <activity ..... > 
     </activity> 
     <meta-data android:value="a14f9xxxxx(id from admob)" android:name="ADMOB_PUBLISHER_ID"/> 
     <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/> 
    </application> 
</manifest> 

以上configChanges属性是Android SDK级别14以上。

对于较低,使用此:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="...." android:versionCode=".." android:versionName="..."> 
    <application android:icon="...." android:label="...."> 
     <activity ..... > 
     </activity> 
     <meta-data android:value="a14f9xxxxx(id from admob)" android:name="ADMOB_PUBLISHER_ID"/> 
     <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation"/> 
    </application> 
</manifest> 

活动中存在Admobs库中,没有必要做任何额外的东西:)

+0

感谢您的回复。通过添加你的额外的行我得到错误。错误:错误:不允许使用字符串类型('configChanges'的值为'keyboard | keyboardHidden | orientation | screenLayout | uiMode | screenSize | smallestScreenSize')。我在这里丢失的是什么 – user1484246

+0

这是你的应用程序标签中的清单权?你使用的是什么Android SDK版本?我刚刚意识到我有这个目标Android API SDK级别14. – t0mm13b

+0

在清单标记中没有它。我如何知道Android SDK版本是否意味着它是由API级别的Android?如果是这样,我从我的手机获得Android2.2开始API 8级的使用 – user1484246