【问题标题】:Crashed: Thread libffmpeg.so (Missing)崩溃:线程 libffmpeg.so(缺失)
【发布时间】:2018-06-09 05:52:02
【问题描述】:

fabric 控制台上有很多崩溃,日志如下

 Crashed: Thread
    0  libffmpeg.so                   0x6be6c5de (Missing)
    1  libffmpeg.so                   0x6bfc51fa (Missing)
    2  libffmpeg.so                   0x6bfab616 (Missing)
    3  libffmpeg.so                   0x6bfd28ba (Missing)
    4  libffmpeg.so                   0x6becfbbf (Missing)
    5  libffmpeg.so                   0x6bfc5c26 (Missing)
    6  libffmpeg.so                   0x6bfd287e (Missing)
    7  libffmpeg.so                   0x6bfd28ba (Missing)
    8  libffmpeg.so                   0x6bfab616 (Missing)
    9  libffmpeg.so                   0x6bfd2912 (Missing)
    10 libffmpeg.so                   0x6bfd28fe (Missing)
    11 libffmpeg.so                   0x6bed0b55 (Missing)
    12 libffmpeg.so                   0x6bfd29f6 (Missing)
    13 libffmpeg.so                   0x6bdfb8c3 (Missing)
    14 libffmpeg.so                   0x6bfa6e4a (Missing)
    15 libc.so                        0x40094784 (Missing)
    16 libutils.so                    0x400fe9ca (Missing)
    17 libGLES_mali.so                0x5b9cd052 (Missing)
    18 libGLES_mali.so                0x5b9cd622 (Missing)
    19 libGLES_mali.so                0x5b9d7cae (Missing)
    20 libGLES_mali.so                0x5b9d7d26 (Missing)
    21 libGLES_mali.so                0x5b9cc6b6 (Missing)
    22 libGLES_mali.so                0x5b9d7cae (Missing)
    23 libEGL.so                      0x402e849b (Missing)
    24 libEGL.so                      0x402ea077 (Missing)
    25 libc.so                        0x400b00f6 (Missing)
    26 libutils.so                    0x400fc94f (Missing)
    27 libandroid_runtime.so          0x401a878f (Missing)
    28 (Missing)                      0x57556056 (Missing)
    29 libdvm.so                      0x414ba38e (Missing)
    30 (Missing)                      0x417c1f76 (Missing)
    31 libdvm.so                      0x414ea7b5 (Missing)
    32 (Missing)                      0x591f4816 (Missing)
    33 libandroid_runtime.so          0x401a87a9 (Missing)
    34 libc.so                        0x40083f2b (Missing)
    35 libdvm.so                      0x4151621b (Missing)
    36 (Missing)                      0x5752c916 (Missing)
    37 (Missing)                      0x428b97ce (Missing)
    38 libdvm.so                      0x4150feaf (Missing)
    39 libdvm.so                      0x415096e3 (Missing)
    40 (Missing)                      0x41df9bbe (Missing)
    41 (Missing)                      0x417c8b26 (Missing)
    42 (Missing)                      0x427956e6 (Missing)
    43 (Missing)                      0x41e1e442 (Missing)
    44 (Missing)                      0x41e1e43e (Missing)
    45 libdvm.so                      0x414ef75f (Missing)
    46 libdvm.so                      0x414ef677 (Missing)
    47 (Missing)                      0x58f7244c (Missing)
    48 libdvm.so                      0x414ea623 (Missing)
    49 (Missing)                      0x655e5216 (Missing)
    50 (Missing)                      0x575d3a4e (Missing)
    51 (Missing)                      0x41e1aee2 (Missing)
    52 libdvm.so                      0x414ca6ae (Missing)
    53 (Missing)                      0x41e0ea96 (Missing)
    54 libdvm.so                      0x414ca65e (Missing)
    55 (Missing)                      0x575d3a4e (Missing)
    56 libdvm.so                      0x414c7d5a (Missing)
    57 (Missing)                      0x59670cde (Missing)
    58 (Missing)                      0x574fc61e (Missing)
    59 (Missing)                      0x58808ffe (Missing)
    60 (Missing)                      0x41e1ae4e (Missing)
    61 (Missing)                      0x575d3a4e (Missing)
    62 (Missing)                      0x4179a2a6 (Missing)
    63 (Missing)                      0x41e1ae0a (Missing)
    64 libdvm.so                      0x414fd1cf (Missing)

我的应用程序具有实时视频和音频流,为此我使用了vitamio SDK。我无法跟踪问题,为什么使用我可以识别问题。

我在许多设备上进行了测试,但未能重现该问题。

【问题讨论】:

  • 来自 Fabric 的 Mike。您是否有权访问用于 NDK 代码的库的调试版本?
  • @MikeBonnell 不,我没有访问权限
  • 知道了,在这种情况下,我们无法获取该库的符号,因此堆栈跟踪将缺少符号。
  • @MikeBonnell 抱歉,我这边有一个错误,是的,我可以使用 NDK 代码调试 vitamio

标签: android ffmpeg android-ndk crashlytics vitamio


【解决方案1】:

来自 Fabric 的 Mike。如果您的 NDK 代码有其他库,则需要为它们上传符号。 Depending 你正在运行哪个版本的 Fabric 的 Gradle 插件和 Gradle,这是一种上传它们的方法。

apply plugin: 'com.android.library'
apply plugin: 'io.fabric'

android {
  compileSdkVersion <CURRENT COMPILESDKVERSION>
  buildToolsVersion "<YOUR BUILD TOOLS VERSION>"

  defaultConfig {
    applicationId "<YOUR APP'S PACKAGE NAME>"
  }
}

crashlytics {
  enableNdk true
  // If using the Android plugin for Gradle version 2.2.0+ with the externalNativeBuild DSL,
  // you should remove the androidNdkOut and androidNdkLibsOut properties, as these paths will
  // automatically be detected by the Fabric plugin.
  androidNdkOut 'obj'
  androidNdkLibsOut 'libs'
  manifestPath 'AndroidManifest.xml'
}

最后运行./gradlew crashlyticsUploadSymbolsRelease 上传您的符号。您需要为任何需要崩溃的构建执行此操作,如果您使用的是需要androidNdkOutandroidNdkLibsOut 的旧版本。 Libs 用于发布,而非 libs 用于调试。

【讨论】:

    猜你喜欢
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 2019-03-29
    相关资源
    最近更新 更多