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