简体   繁体   English

AdMob:膨胀类com.google.ads.AdView时出错

[英]AdMob : Error inflating class com.google.ads.AdView

I've got a simple linearlayout with an advert on it. 我有一个带有广告的简单线性布局。 When I launch the application, I've got this error : 启动应用程序时,出现以下错误:

01-31 19:00:02.337: E/AndroidRuntime(11395): FATAL EXCEPTION: main
01-31 19:00:02.337: E/AndroidRuntime(11395): android.view.InflateException: Binary XML file line #34: Error inflating class com.google.ads.AdView
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.LayoutInflater.createView(LayoutInflater.java:613)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at com.devspark.sidenavigation.SideNavigationView$SideNavigationAdapter.getView(SideNavigationView.java:248)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.widget.AbsListView.obtainView(AbsListView.java:2159)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.widget.ListView.makeAndAddView(ListView.java:1831)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.widget.ListView.fillDown(ListView.java:674)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.widget.ListView.fillGap(ListView.java:638)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.widget.AbsListView.trackMotionScroll(AbsListView.java:4930)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3087)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.widget.AbsListView.startScrollIfNeeded(AbsListView.java:3032)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.widget.AbsListView.onTouchEvent(AbsListView.java:3357)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.View.dispatchTouchEvent(View.java:7239)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2168)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1903)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1953)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1405)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.app.Activity.dispatchTouchEvent(Activity.java:2410)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1901)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.View.dispatchPointerEvent(View.java:7419)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3220)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3165)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4292)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4271)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4363)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:179)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:171)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:4342)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:4382)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.Choreographer.doCallbacks(Choreographer.java:562)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.Choreographer.doFrame(Choreographer.java:530)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.os.Handler.handleCallback(Handler.java:725)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.os.Handler.dispatchMessage(Handler.java:92)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at android.os.Looper.loop(Looper.java:137)
01-31 19:00:02.337: E/AndroidRuntime(11395):    at andr

The latest AdMob library is referenced both times. 两次都引用了最新的AdMob库。 The jar is located in the libs folder and I added it to the Java Build Path. 该jar位于libs文件夹中,我将其添加到Java Build Path中。

Here is the layout code : 这是布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res/com.natinusala.pebkac" 
    xmlns:ads="schemas.android.com/apk/lib/com.google.ads"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingBottom="@dimen/side_navigation_item_padding_topbottom"
    android:paddingLeft="0dp"
    android:paddingRight="@dimen/side_navigation_item_padding_leftright"
    android:paddingTop="@dimen/side_navigation_item_padding_topbottom"
     >

    <com.google.ads.AdView
        android:id="@+id/advert"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:visibility="gone"
        app:backgroundColor="#000000"
        app:keywords="Android game"
        app:textColor="#FFFFFF"
        ads:addSize="BANNER" />

</LinearLayout>

Could you help me ? 你可以帮帮我吗 ?

Thanks ! 谢谢 !

I think 我认为

instead of android:visibility="gone" 而不是android:visibility =“ gone”

use android:visibility="invisible" 使用android:visibility =“ invisible”

Go to the Properties of your eclipse project, Java Build Path, Order and Export, check the GoogleAdMobAdsSdk-6.2.1.jar entry and move it to the top of the list. 转到eclipse项目的“属性”,“ Java构建路径”,“命令和导出”,检查GoogleAdMobAdsSdk-6.2.1.jar条目并将其移至列表顶部。

That worked for me having the same problem. 这对我有同样的问题。

I think you should have to add admob jar file to the project library (lib folder). 我认为您必须将admob jar文件添加到项目库(lib文件夹)。 Just simply copy and paste it into lib folder of project. 只需将其复制并粘贴到项目的lib文件夹中即可。 This works sometimes. 有时这可行。

If above solution not worked then right click on project, select option Build Path-->Configure Build Path then select add jar option, select your project, select lib folder of your project, select the .jar file that you want and click OK and restart your Eclipse once. 如果上述解决方案不起作用,请右键单击项目,选择选项Build Path-> Configure Build Path,然后选择add jar选项,选择项目,选择项目的lib文件夹,选择所需的.jar文件,然后单击OK,然后单击确定。重新启动Eclipse。 (This procedure is for Eclipse IDE). (此过程适用于Eclipse IDE)。

i notice your code : 我注意到您的代码:

xmlns:ads="schemas.android.com/apk/lib/com.google.ads"

In Google Developer Page,the sample code is : 在Google Developer Page中,示例代码为:

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"

and remember to Select the Order and Export(Properties>Java Build Path) tab; 并记住选择“订购和出口(属性> Java构建路径)”选项卡; then, check the Google Mobile Ads JAR to include it when compiling your project. 然后,在编译项目时检查Google移动广告JAR以将其包括在内。

See it helps or not 看到它有没有帮助

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM