Android 11 上的 Facebook 受众 6.2.0 /apex/com.android.art/lib64/libart.so (art::OatHeader::IsDebuggable(

Posted

技术标签:

【中文标题】Android 11 上的 Facebook 受众 6.2.0 /apex/com.android.art/lib64/libart.so (art::OatHeader::IsDebuggable() const+124)【英文标题】:Facebook Audience 6.2.0 /apex/com.android.art/lib64/libart.so (art::OatHeader::IsDebuggable() const+124) on Android 11 【发布时间】:2021-02-18 05:42:32 【问题描述】:

在目标 SDK 29 的 android 应用上从 5.11.0 更新到 Facebook Audience 6.2.0 后,我在一小部分 Android 11 设备上看到了大量的崩溃报告。据一位遇到此崩溃并已重新安装该应用数次以进行测试的用户称,崩溃发生在启动后几秒钟,第一次能够看到加载屏幕,然后在第一次之后立即出现。

  #00  pc 00000000004dcd84  /apex/com.android.art/lib64/libart.so (art::OatHeader::IsDebuggable() const+124)
  #00  pc 00000000004dd3f4  /apex/com.android.art/lib64/libart.so (art::OatFileBase::ShouldUnquickenVDex() const+56)
  #00  pc 00000000004dd594  /apex/com.android.art/lib64/libart.so (art::OatFileBase::LoadVdex(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+80)
  #00  pc 00000000004e1594  /apex/com.android.art/lib64/libart.so (art::OatFile::Open(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, art::ArrayRef<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const>, art::MemMap*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+468)
  #00  pc 00000000004e7d78  /apex/com.android.art/lib64/libart.so (art::OatFileAssistant::OatFileInfo::GetFile()+696)
  #00  pc 00000000004e7038  /apex/com.android.art/lib64/libart.so (art::OatFileAssistant::OatFileInfo::Status()+76)
  #00  pc 00000000004e7458  /apex/com.android.art/lib64/libart.so (art::OatFileAssistant::OatFileInfo::ReleaseFileForUse()+56)
  #00  pc 00000000004ec944  /apex/com.android.art/lib64/libart.so (art::OatFileManager::OpenDexFilesFromOat(char const*, _jobject*, _jobjectArray*, art::OatFile const**, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*)+292)
  #00  pc 00000000004a0718  /apex/com.android.art/lib64/libart.so (art::DexFile_openDexFileNative(_JNIEnv*, _jclass*, _jstring*, _jstring*, int, _jobject*, _jobjectArray*)+144)
  #00  pc 0000000000010a88  /apex/com.android.art/javalib/arm64/boot-core-libart.oat (art_jni_trampoline+264)
  #00  pc 000000000001f584  /apex/com.android.art/javalib/arm64/boot-core-libart.oat (dalvik.system.DexFile.openDexFile+244)
  #00  pc 00000000000215d4  /apex/com.android.art/javalib/arm64/boot-core-libart.oat (dalvik.system.DexPathList.makeDexElements+1348)
  #00  pc 0000000000020b78  /apex/com.android.art/javalib/arm64/boot-core-libart.oat (dalvik.system.DexPathList.<init>+664)
  #00  pc 000000000001d934  /apex/com.android.art/javalib/arm64/boot-core-libart.oat (dalvik.system.BaseDexClassLoader.<init>+228)
  #00  pc 0000000000057f90  /apex/com.android.art/javalib/arm64/boot-core-libart.oat (dalvik.system.DexClassLoader.<init>+80)
  #00  pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548)
  #00  pc 00000000001a8a78  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
  #00  pc 000000000031830c  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376)
  #00  pc 000000000030e638  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+996)
  #00  pc 000000000067d794  /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+576)
  #00  pc 000000000012d914  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20)
  #00  pc 00000000001cdc00  /data/app/~~USEx1p9tx0-5YVxYZoz1fQ==/com.mycompany.mygame-OdPieLgz_xrP3A7H8t3zyw==/oat/arm64/base.vdex (com.facebook.ads.internal.dynamicloading.DynamicLoaderFactory.makeLegacyAdsSdkClassLoader+160)
  #00  pc 000000000067e314  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+1224)
  #00  pc 000000000012d994  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20)
  #00  pc 00000000001cdd48  /data/app/~~USEx1p9tx0-5YVxYZoz1fQ==/com.mycompany.mygame-OdPieLgz_xrP3A7H8t3zyw==/oat/arm64/base.vdex (com.facebook.ads.internal.dynamicloading.DynamicLoaderFactory.makeAdsSdkClassLoader+8)
  #00  pc 000000000067e314  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+1224)
  #00  pc 000000000012d994  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20)
  #00  pc 00000000001cd96e  /data/app/~~USEx1p9tx0-5YVxYZoz1fQ==/com.mycompany.mygame-OdPieLgz_xrP3A7H8t3zyw==/oat/arm64/base.vdex (com.facebook.ads.internal.dynamicloading.DynamicLoaderFactory.doMakeLoader+70)
  #00  pc 000000000067e314  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+1224)
  #00  pc 000000000012d994  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20)
  #00  pc 00000000001cd90c  /data/app/~~USEx1p9tx0-5YVxYZoz1fQ==/com.mycompany.mygame-OdPieLgz_xrP3A7H8t3zyw==/oat/arm64/base.vdex (com.facebook.ads.internal.dynamicloading.DynamicLoaderFactory.access$000)
  #00  pc 000000000067e314  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+1224)
  #00  pc 000000000012d994  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20)
  #00  pc 00000000001cd6fa  /data/app/~~USEx1p9tx0-5YVxYZoz1fQ==/com.mycompany.mygame-OdPieLgz_xrP3A7H8t3zyw==/oat/arm64/base.vdex (com.facebook.ads.internal.dynamicloading.DynamicLoaderFactory$a.run+34)
  #00  pc 0000000000305c34  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.16249794272548105830)+268)
  #00  pc 0000000000669e20  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+780)
  #00  pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88)
  #00  pc 000000000015ab08  /apex/com.android.art/javalib/arm64/boot.oat (java.lang.Thread.run+72)
  #00  pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548)
  #00  pc 00000000001a8a78  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
  #00  pc 0000000000553890  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+460)
  #00  pc 00000000005a2c2c  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1308)
  #00  pc 00000000000af888  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
  #00  pc 000000000004fe08  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)

这与 /apex/com.android.runtime/lib64/bionic/libc.so (abort+160) 问题 (/apex/com.android.runtime/lib64/bionic/libc.so (abort+160), abort crash in Android 10 devices) 不同,在 6.2.0 上仍然很少发生。

【问题讨论】:

我也遇到了同样的问题,我现在正在联系 FB 支持,你能 PM 我吗? 我从FB技术支持收到了以下信息“经咨询此事,如果您能提供其他开发人员的更多信息,将有很大帮助,以便我们重现该问题。”因此,如果有人有其他信息或者甚至可以重现该问题,请在此处发布。 在 FAN 6.2.0 和 6.1.0 中找到了此问题的日志,但在 5.11.0 中没有找到。 清除应用程序数据似乎可以解决问题(而重新安装却没有),因此我假设 fb shared_prefs 可能在重新安装时由 Android 备份了一些问题。有人对jetify OFF有这个问题吗?我想知道喷射 Audience_network.dex 是否会导致某种问题。 在 fb-samples Audience Github 项目 (github.com/fbsamples/audience-network/issues/132) 上有一个相关问题,其中有一个可以修复它的测试版本的链接。 【参考方案1】:

根据change log,Android Facebook Audience Network SDK 版本 6.2.1(发布于 2021 年 2 月 3 日)修复了此错误。

【讨论】:

它并没有完全解决问题。似乎是 AdMob 中的一个错误。你可以在这里找到一些细节:groups.google.com/g/google-admob-ads-sdk/c/tyXU1DW0wNc 另外根据github.com/fbsamples/audience-network/issues/132 的评论,在完全删除受众网络 sdk 后,人们仍然会遇到此崩溃 我确认从 FAN v6.2.0 升级到 v6.2.1 和 v6.3.0 并没有解决我的应用程序中的崩溃问题。【参考方案2】:

我也遇到了这个崩溃,但是没找到解决办法!

【讨论】:

我正在与 FB 支持人员联系,您能否与我(PM 或此处)分享有关 targetSdk、广告类型、kotlin/java、崩溃何时发生的任何详细信息? 在我的例子中,它是 targetSdkVersion 29,本机横幅,java。无法告诉您它发生在哪个阶段,只能从开发控制台获取。【参考方案3】:

来自 FB 技术支持的反馈:“看起来这个问题之前已向我们报告过,我们的团队一直在努力解决它。当 SDK 6.3.0 可用时,它应该会得到修复。” 不幸的是,没有给出 6.3.0 版的时间表。

【讨论】:

以上是关于Android 11 上的 Facebook 受众 6.2.0 /apex/com.android.art/lib64/libart.so (art::OatHeader::IsDebuggable(的主要内容,如果未能解决你的问题,请参考以下文章

在 Flutter 中,如何将 facebook 受众作为中介网络与 Admob 集成?

Unity 中的 Facebook 横幅广告问题

Android上的Unity Facebook SDK登录错误

Facebook 受众出价不起作用:捆绑状态无效

Facebook 受众整合,停留在第二步

Android 中的 AdMob Facebook 中介