Android 膨胀类com.facebook.ads.MediaView时出错

Android 膨胀类com.facebook.ads.MediaView时出错,android,facebook,facebook-graph-api,facebook-audience-network,Android,Facebook,Facebook Graph Api,Facebook Audience Network,我已经在我的Android应用程序上集成了Facebook观众网络一段时间了,到目前为止,我还没有收到任何问题 最近,我将Facebook API调用从v2.5更新到v3.0,并开始在我的Crashlysis上获取这些报告。它在更新之前工作,但在更新之后不再工作。我可以试着返回到v2.5,看看情况是否有所改善,但我只是把这个放在这里,希望其他面临类似问题的人能够对此提供一些答案 private void processLoadedAd(final NativeAd nativeAd) {

我已经在我的Android应用程序上集成了Facebook观众网络一段时间了,到目前为止,我还没有收到任何问题

最近,我将Facebook API调用从v2.5更新到v3.0,并开始在我的Crashlysis上获取这些报告。它在更新之前工作,但在更新之后不再工作。我可以试着返回到v2.5,看看情况是否有所改善,但我只是把这个放在这里,希望其他面临类似问题的人能够对此提供一些答案

private void processLoadedAd(final NativeAd nativeAd) {
    nativeAd.setAdListener(new AdListener() {
        @Override
        public void onError(Ad ad, AdError adError) {

        }

        @Override
        public void onAdLoaded(Ad ad) {
            Log.e(TAG, "onAdLoaded: " + ad);
            if (nativeAd != null) {
                nativeAd.unregisterView();
            }

            arrayNativeAd.add(nativeAd);
            adapterBulletinsRecommended.notifyDataSetChanged();
            rlRecommended.setVisibility(View.VISIBLE);
        }

        @Override
        public void onAdClicked(Ad ad) {

        }

        @Override
        public void onLoggingImpression(Ad ad) {

        }
    });
    nativeAd.loadAd();
}


要解决此问题,必须添加

compile 'com.android.support:support-v4:*.*.*'
compile 'com.android.support:recyclerview-v7:*.*.*'

它与sdk版本无关

您是否也更改了
targetSdkVersion
?由于
TextureView不支持显示后台可绘制的
错误,这是您的问题的根源出现在Android N(api 24)@pleft上,因此我已将targetSdkVersion从25更新为26。。。以及gradle文件中受影响的其他行,以反映Google上可用的最新版本。但是是的,目前唯一受此影响的设备是API 24。嗨,我在小米设备上也面临类似的问题。关于这个问题,你有什么解决办法吗?@Sarun1001不幸的是,我现在只捕捉到例外,只是为了让新设备免于崩溃。@Reynolds R.G.G现在我在降级到Facebook SDK版本v.4.23.0时没有遇到任何问题,也许你应该看看我有两个问题。仍然不适用于上面的sdk 4.23。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <android.support.v7.widget.CardView
        android:id="@+id/cv_content"
        android:layout_width="300dp"
        android:layout_height="250dp"
        android:layout_margin="5dp"
        android:elevation="20dp"
        app:cardCornerRadius="10dp">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <com.facebook.ads.MediaView
                android:id="@+id/mv_ad_picture"
                android:layout_width="match_parent"
                android:layout_height="155dp"
                android:background="@color/weak_tint_profile" />

            <ImageView
                android:id="@+id/iv_adchoices_icon"
                android:layout_width="15dp"
                android:layout_height="15dp"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:layout_margin="10dp"
                android:background="@color/transparent" />

            <ImageView
                android:id="@+id/iv_ad_icon"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_below="@id/mv_ad_picture"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@color/transparent"
                android:scaleType="centerCrop" />

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="70dp"
                android:layout_alignBottom="@id/iv_ad_icon"
                android:layout_alignTop="@id/iv_ad_icon"
                android:layout_toRightOf="@id/iv_ad_icon">

                <LinearLayout
                    android:id="@+id/ll_ad_header"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_toLeftOf="@+id/ll_cta"
                    android:gravity="center_vertical"
                    android:orientation="vertical">

                    <TextView
                        android:id="@+id/tv_ad_title"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:ellipsize="end"
                        android:maxLines="2"
                        android:text="Ad Title"
                        android:textSize="14sp"
                        android:textStyle="bold" />

                    <TextView
                        android:id="@+id/tv_social_context"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:ellipsize="end"
                        android:maxLines="1"
                        android:text="Social Context"
                        android:textColor="@color/secondary_text"
                        android:textSize="10sp" />
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/ll_cta"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_centerVertical="true"
                    android:layout_marginBottom="10dp"
                    android:layout_marginLeft="10dp"
                    android:layout_marginRight="10dp"
                    android:background="@drawable/modern_btn_primary">

                    <TextView
                        android:id="@+id/tv_cta"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:paddingBottom="5dp"
                        android:paddingLeft="10dp"
                        android:paddingRight="10dp"
                        android:paddingTop="5dp"
                        android:text="CTA Button"
                        android:textColor="@color/white"
                        android:textSize="12sp"
                        android:textStyle="bold" />

                </LinearLayout>

            </RelativeLayout>

            <TextView
                android:id="@+id/tv_ad_body"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_below="@+id/iv_ad_icon"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:ellipsize="end"
                android:gravity="center_vertical"
                android:maxLines="1"
                android:text="Ad Body"
                android:textColor="@color/text_on_alpha"
                android:textSize="12sp" />

        </RelativeLayout>

    </android.support.v7.widget.CardView>

</RelativeLayout>
Fatal Exception: android.view.InflateException: Binary XML file line #19: Binary XML file line #19: Error inflating class com.facebook.ads.MediaView

Caused by android.view.InflateException: Binary XML file line #19: Error inflating class com.facebook.ads.MediaView

Caused by java.lang.reflect.InvocationTargetException
       at java.lang.reflect.Constructor.newInstance0(Constructor.java)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
       at android.view.LayoutInflater.createView(LayoutInflater.java:652)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:865)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:873)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:873)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:525)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
       at worka.biz.worka.adapter.BulletinsRecommendedAdapter.onCreateViewHolder(Unknown Source)
       at worka.biz.worka.adapter.BulletinsRecommendedAdapter.onCreateViewHolder(Unknown Source)
       at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(Unknown Source)
       at android.support.v7.widget.RecyclerView$Recycler.clear(Unknown Source)
       at android.support.v7.widget.RecyclerView$Recycler.clear(Unknown Source)
       at android.support.v7.widget.RecyclerView$Recycler.getScrapList(Unknown Source)
       at android.support.v7.widget.LinearLayoutManager$LayoutState.hasMore(Unknown Source)
       at android.support.v7.widget.LinearLayoutManager.generateDefaultLayoutParams(Unknown Source)
       at android.support.v7.widget.LinearLayoutManager.generateDefaultLayoutParams(Unknown Source)
       at android.support.v7.widget.LinearLayoutManager.onSaveInstanceState(Unknown Source)
       at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(Unknown Source)
       at android.support.v7.widget.RecyclerView.onMeasure(Unknown Source)
       at android.view.View.measure(View.java:21121)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:21121)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:21121)
       at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:2249)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.widget.ScrollView.onMeasure(ScrollView.java:543)
       at android.view.View.measure(View.java:21121)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.support.design.widget.CoordinatorLayout.releaseTempRect(Unknown Source)
       at android.support.design.widget.HeaderScrollingViewBehavior.onMeasureChild(Unknown Source)
       at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.layoutDependsOn(Unknown Source)
       at android.support.design.widget.CoordinatorLayout.onMeasure(Unknown Source)
       at android.view.View.measure(View.java:21121)
       at android.support.v4.widget.DrawerLayout.onMeasure(Unknown Source)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.support.v7.widget.ContentFrameLayout.onMeasure(Unknown Source)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
       at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
       at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
       at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
       at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at com.android.internal.policy.DecorView.onMeasure(DecorView.java:872)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2625)
       at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1677)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1928)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1550)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7190)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:959)
       at android.view.Choreographer.doCallbacks(Choreographer.java:734)
       at android.view.Choreographer.doFrame(Choreographer.java:670)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:945)
       at android.os.Handler.handleCallback(Handler.java:751)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:6776)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
Caused by java.lang.UnsupportedOperationException: TextureView doesn't support displaying a background drawable
       at android.view.TextureView.setBackgroundDrawable(TextureView.java:315)
       at android.view.View.setBackground(View.java:19498)
       at android.view.View.(View.java)
       at android.view.View.(View.java)
       at android.view.View.(View.java)
       at android.view.TextureView.(TextureView.java)
       at com.facebook.ads.internal.view.d.c.b.(Unknown Source)
       at com.facebook.ads.internal.view.o.(Unknown Source)
       at com.facebook.ads.internal.view.j.(Unknown Source)
       at com.facebook.ads.MediaViewVideoRenderer.(Unknown Source)
       at com.facebook.ads.internal.view.h.(Unknown Source)
       at com.facebook.ads.MediaView.(Unknown Source)
       at java.lang.reflect.Constructor.newInstance0(Constructor.java)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
       at android.view.LayoutInflater.createView(LayoutInflater.java:652)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:865)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:873)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:873)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:525)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
       at worka.biz.worka.adapter.BulletinsRecommendedAdapter.onCreateViewHolder(Unknown Source)
       at worka.biz.worka.adapter.BulletinsRecommendedAdapter.onCreateViewHolder(Unknown Source)
       at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(Unknown Source)
       at android.support.v7.widget.RecyclerView$Recycler.clear(Unknown Source)
       at android.support.v7.widget.RecyclerView$Recycler.clear(Unknown Source)
       at android.support.v7.widget.RecyclerView$Recycler.getScrapList(Unknown Source)
       at android.support.v7.widget.LinearLayoutManager$LayoutState.hasMore(Unknown Source)
       at android.support.v7.widget.LinearLayoutManager.generateDefaultLayoutParams(Unknown Source)
       at android.support.v7.widget.LinearLayoutManager.generateDefaultLayoutParams(Unknown Source)
       at android.support.v7.widget.LinearLayoutManager.onSaveInstanceState(Unknown Source)
       at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(Unknown Source)
       at android.support.v7.widget.RecyclerView.onMeasure(Unknown Source)
       at android.view.View.measure(View.java:21121)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:21121)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:21121)
       at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:2249)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.widget.ScrollView.onMeasure(ScrollView.java:543)
       at android.view.View.measure(View.java:21121)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.support.design.widget.CoordinatorLayout.releaseTempRect(Unknown Source)
       at android.support.design.widget.HeaderScrollingViewBehavior.onMeasureChild(Unknown Source)
       at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.layoutDependsOn(Unknown Source)
       at android.support.design.widget.CoordinatorLayout.onMeasure(Unknown Source)
       at android.view.View.measure(View.java:21121)
       at android.support.v4.widget.DrawerLayout.onMeasure(Unknown Source)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.support.v7.widget.ContentFrameLayout.onMeasure(Unknown Source)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
       at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
       at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
       at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
       at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at com.android.internal.policy.DecorView.onMeasure(DecorView.java:872)
       at android.view.View.measure(View.java:21121)
       at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2625)
       at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1677)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1928)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1550)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7190)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:959)
       at android.view.Choreographer.doCallbacks(Choreographer.java:734)
       at android.view.Choreographer.doFrame(Choreographer.java:670)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:945)
       at android.os.Handler.handleCallback(Handler.java:751)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:6776)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
compile 'com.android.support:support-v4:*.*.*'
compile 'com.android.support:recyclerview-v7:*.*.*'