Facebook Android SDK 5.4.0更新后导致ANR
在将FacebookSDK版本从4.40.0升级到5.4.0之后,我的应用程序获得了大量的ANR。在一天内,用户甚至无法打开应用程序 完整堆栈跟踪:Facebook Android SDK 5.4.0更新后导致ANR,android,facebook,sdk,Android,Facebook,Sdk,在将FacebookSDK版本从4.40.0升级到5.4.0之后,我的应用程序获得了大量的ANR。在一天内,用户甚至无法打开应用程序 完整堆栈跟踪: "main" prio=5 tid=1 Waiting | group="main" sCount=1 dsCount=0 obj=0x7496b268 self=0xb2c84400 | sysTid=8451 nice=0 cgrp=default sched=0/0 handle=0xb5b72534 | state=S sche
"main" prio=5 tid=1 Waiting
| group="main" sCount=1 dsCount=0 obj=0x7496b268 self=0xb2c84400
| sysTid=8451 nice=0 cgrp=default sched=0/0 handle=0xb5b72534
| state=S schedstat=( 0 0 0 ) utm=12 stm=7 core=2 HZ=100
| stack=0xbe6c2000-0xbe6c4000 stackSize=8MB
| held mutexes=
at java.lang.Object.wait (Native method)
- waiting on <0x047bbe7f> (a java.lang.Object)
at java.lang.Thread.parkFor$ (Thread.java:2127)
- locked <0x047bbe7f> (a java.lang.Object)
at sun.misc.Unsafe.park (Unsafe.java:325)
at java.util.concurrent.locks.LockSupport.park (LockSupport.java:161)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt (AbstractQueuedSynchronizer.java:840)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly (AbstractQueuedSynchronizer.java:994)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly (AbstractQueuedSynchronizer.java:1303)
at java.util.concurrent.CountDownLatch.await (CountDownLatch.java:203)
at com.facebook.internal.LockOnGetVariable.waitOnInit (LockOnGetVariable.java:64)
at com.facebook.internal.LockOnGetVariable.getValue (LockOnGetVariable.java:54)
at com.facebook.FacebookSdk.getCacheDir (FacebookSdk.java:954)
at com.facebook.internal.instrument.InstrumentUtility.getInstrumentReportDir (InstrumentUtility.java:242)
at com.facebook.internal.instrument.InstrumentUtility.listCrashReportFiles (InstrumentUtility.java:124)
at com.facebook.internal.instrument.crashreport.CrashHandler.sendCrashReports (CrashHandler.java:101)
at com.facebook.internal.instrument.crashreport.CrashHandler.enable (CrashHandler.java:73)
- locked <0x01f4fe4c> (a java.lang.Class<com.facebook.internal.instrument.crashreport.CrashHandler>)
at com.facebook.internal.instrument.InstrumentManager.start (InstrumentManager.java:46)
at com.facebook.FacebookSdk.sdkInitialize (FacebookSdk.java:326)
- locked <0x05939e95> (a java.lang.Class<com.facebook.FacebookSdk>)
at com.facebook.marketing.internal.MarketingInitProvider.onCreate (MarketingInitProvider.java:42)
at android.content.ContentProvider.attachInfo (ContentProvider.java:1753)
at android.content.ContentProvider.attachInfo (ContentProvider.java:1728)
at android.app.ActivityThread.installProvider (ActivityThread.java:6066)
at android.app.ActivityThread.installContentProviders (ActivityThread.java:5658)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:5597)
at android.app.ActivityThread.-wrap2 (ActivityThread.java)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1614)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6351)
at java.lang.reflect.Method.invoke! (Native method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:896)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:786)
"GoogleApiHandler" tid=22 Native
"GoogleApiHandler" prio=5 tid=22 Native
| group="main" sCount=1 dsCount=0 obj=0x22c0caf0 self=0xab5c6700
| sysTid=8512 nice=9 cgrp=default sched=0/0 handle=0x95332920
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=1 HZ=100
| stack=0x95230000-0x95232000 stackSize=1038KB
| held mutexes=
#00 pc 0000000000048e38 /system/lib/libc.so (__epoll_pwait+20)
#01 pc 000000000001a291 /system/lib/libc.so (epoll_pwait+60)
#02 pc 000000000001a2c1 /system/lib/libc.so (epoll_wait+12)
#03 pc 0000000000011e77 /system/lib/libutils.so (_ZN7android6Looper9pollInnerEi+118)
#04 pc 0000000000011d73 /system/lib/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+26)
#05 pc 0000000000096fbd /system/lib/libandroid_runtime.so (_ZN7android18NativeMessageQueue8pollOnceEP7_JNIEnvP8_jobjecti+22)
#06 pc 000000000067f0a5 /system/framework/arm/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+96)
at android.os.MessageQueue.nativePollOnce (Native method)
at android.os.MessageQueue.next (MessageQueue.java:323)
at android.os.Looper.loop (Looper.java:136)
at android.os.HandlerThread.run (HandlerThread.java:61)
"TokenRefresher" tid=23 Native
"TokenRefresher" prio=5 tid=23 Native
| group="main" sCount=1 dsCount=0 obj=0x22c0cb80 self=0xab5c5d00
| sysTid=8513 nice=10 cgrp=bg_non_interactive sched=0/0 handle=0x9573c920
| state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=2 HZ=100
| stack=0x9563a000-0x9563c000 stackSize=1038KB
| held mutexes=
#00 pc 0000000000048e38 /system/lib/libc.so (__epoll_pwait+20)
#01 pc 000000000001a291 /system/lib/libc.so (epoll_pwait+60)
#02 pc 000000000001a2c1 /system/lib/libc.so (epoll_wait+12)
#03 pc 0000000000011e77 /system/lib/libutils.so (_ZN7android6Looper9pollInnerEi+118)
#04 pc 0000000000011d73 /system/lib/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+26)
#05 pc 0000000000096fbd /system/lib/libandroid_runtime.so (_ZN7android18NativeMessageQueue8pollOnceEP7_JNIEnvP8_jobjecti+22)
#06 pc 000000000067f0a5 /system/framework/arm/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+96)
at android.os.MessageQueue.nativePollOnce (Native method)
at android.os.MessageQueue.next (MessageQueue.java:323)
at android.os.Looper.loop (Looper.java:136)
at android.os.HandlerThread.run (HandlerThread.java:61)
“主”优先级=5 tid=1等待
|group=“main”scont=1 dsCount=0 obj=0x7496b268 self=0xb2c84400
|sysTid=8451 nice=0 cgrp=default sched=0/0 handle=0xb5b72534
|state=S schedstat=(0 0)utm=12 stm=7 core=2 HZ=100
|堆栈=0xbe6c2000-0xbe6c4000堆栈大小=8MB
|保持互斥=
位于java.lang.Object.wait(本机方法)
-等待(一个java.lang.Object)
位于java.lang.Thread.parkFor$(Thread.java:2127)
-锁定(一个java.lang.Object)
位于sun.misc.Unsafe.park(Unsafe.java:325)
在java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
位于java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:840)
位于java.util.concurrent.locks.AbstractQueuedSynchronizer.DoAcquireSharedTerruptibly(AbstractQueuedSynchronizer.java:994)
位于java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
位于java.util.concurrent.CountDownLatch.await(CountDownLatch.java:203)
位于com.facebook.internal.LockOnGetVariable.waitOnInit(LockOnGetVariable.java:64)
访问com.facebook.internal.LockOnGetVariable.getValue(LockOnGetVariable.java:54)
访问com.facebook.FacebookSdk.getCacheDir(FacebookSdk.java:954)
在com.facebook.internal.instrument.InstrumentUtility.getInstrumentReportDir(InstrumentUtility.java:242)上
位于com.facebook.internal.instrument.InstrumentUtility.listCrashReportFiles(InstrumentUtility.java:124)
访问com.facebook.internal.instrument.crashreport.CrashHandler.sendCrashReports(CrashHandler.java:101)
访问com.facebook.internal.instrument.crashreport.CrashHandler.enable(CrashHandler.java:73)
-锁定(一个java.lang.Class)
位于com.facebook.internal.instrument.InstrumentManager.start(InstrumentManager.java:46)
在com.facebook.FacebookSdk.sdkinInitialize(FacebookSdk.java:326)
-锁定(一个java.lang.Class)
访问com.facebook.marketing.internal.MarketingInitProvider.onCreate(MarketingInitProvider.java:42)
位于android.content.ContentProvider.attachInfo(ContentProvider.java:1753)
位于android.content.ContentProvider.attachInfo(ContentProvider.java:1728)
位于android.app.ActivityThread.installProvider(ActivityThread.java:6066)
位于android.app.ActivityThread.installContentProviders(ActivityThread.java:5658)
位于android.app.ActivityThread.handleBindApplication(ActivityThread.java:5597)
位于android.app.ActivityThread.-wrap2(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1614)上
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:154)
位于android.app.ActivityThread.main(ActivityThread.java:6351)
在java.lang.reflect.Method.invoke!(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:896)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:786)
“GoogleapHandler”tid=22本机
“GoogleApiHandler”prio=5 tid=22本机
|group=“main”scont=1 dsCount=0 obj=0x22c0caf0 self=0xab5c6700
|sysTid=8512 nice=9 cgrp=default sched=0/0 handle=0x95332920
|state=S schedstat=(0 0)utm=0 stm=0 core=1 HZ=100
|堆栈=0x95230000-0x95232000堆栈大小=1038KB
|保持互斥=
#00 pc 0000000000048e38/system/lib/libc.so(epoll+20)
#01 pc 000000000001a291/system/lib/libc.so(epoll_pwait+60)
#02 pc 000000000001a2c1/system/lib/libc.so(epoll_wait+12)
#03 pc 0000000000011e77/system/lib/libutils.so(_zn7android6looper9pollinneei+118)
#04 pc 0000000000011d73/system/lib/libutils.so(_ZN7android6Looper8pollOnceEiPiS1_PPv+26)
#05 pc 0000000000096fbd/system/lib/libandroid_runtime.so(_ZN7android18NativeMessageQueue8pollOnceEP7_JNIEnvP8_jobjecti+22)
#06 pc 0000000000 67F0A5/system/framework/arm/boot-framework.oat(Java_android_os_MessageQueue_nativePollOnce___JI+96)
在android.os.MessageQueue.nativePollOnce(本机方法)
位于android.os.MessageQueue.next(MessageQueue.java:323)
位于android.os.Looper.loop(Looper.java:136)
在android.os.HandlerThread.run(HandlerThread.java:61)
“令牌刷新器”tid=23本机
“令牌刷新器”优先级=5 tid=23本机
|group=“main”scont=1 dsCount=0 obj=0x22c0cb80 self=0xab5c5d00
|sysTid=8513 nice=10 cgrp=bg_非交互式计划=0/0句柄=0x9573c920
|state=S schedstat=(0 0)utm=0 stm=0 core=2 HZ=100
|堆栈=0x9563a000-0x9563c000堆栈大小=1038KB
|保持互斥=
#00 pc 0000000000048e38/system/lib/libc.so(epoll+20)
#01 pc 000000000001a291/system/lib/libc.so(epoll_pwait+60)
#02 pc 000000000001a2c1/system/lib/libc.so(epoll_wait+12)
#03 pc 0000000000011e77/system/lib/libutils.so(_zn7android6looper9pollinneei+118)
#04 pc 0000000000011d73/system/lib/libutils.so(_ZN7android6Looper8pollOnceEiPiS1_PPv+26)
#05 pc 0000000000096fbd/system/lib/libandroid_runtime.so(_ZN7android18NativeMessageQueue8pollOnceEP7_JNIEnvP8_jobjecti+22)
#06 pc 0000000000 67F0A5/system/framework/arm/boot-framework.oat(Java_android_os_MessageQueue_nativePollOnce___JI+96)
在android.os.MessageQueue.nativePollOnce(本机方法)
位于android.os.MessageQueue.next(MessageQueue.java:323)
位于android.os.Looper.loop(Looper.java:136)
在android.os.HandlerThread.run(HandlerThread.java:61)
我降级到4.40.0版本,问题已经解决,但Facebook不断向我发送提醒以更新SDK,如何解决?我失去了数千名用户和一些负面评论。Facebook团队注意到了这个问题,并在5.5.0版中修复了它
提交:请添加完整堆栈跟踪并附加导致问题的代码。我已使用完整堆栈跟踪进行了更新。没有项目代码引用,它只是冻结打开。我只是使用Facebook SDK使用Facebook usi登录