我的应用程序链没有明显原因重新启动,然后崩溃

时间:2018-02-26 10:55:57

标签: android android-ndk

我的Android应用程序一直在重新启动,没有明显的原因。我没有任何崩溃或堆栈跟踪进行调试,应用程序启动,加载一个调用我的本机库的包装器,以及一个(非常简短的)时刻之后,它重新启动。

该应用程序有一个新的PID(通过Android Studio / logcat观看),当观看Android模拟器时,似乎应用程序被冻结,白屏并没有显示任何内容。一段时间后(有时3次重新启动,有时15次),应用程序崩溃时出现以下“跟踪”:

com.stack.overflow.librarytestapp A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x10 in tid 25652 (librarytestapp)
                  [ 02-26 11:50:07.622  1264: 1264 W/         ]
                  debuggerd: handling request: pid=25652 uid=10087 gid=10087 tid=25652

应用程序依赖于.aar文件(Android库),该文件包含C库的JNI代码。这些库使用Android NDK工具链进行交叉编译,并使用交叉编译的OpenSSL库。

我知道C库正常工作的事实。编译期间没有任何警告或错误,我为x86arm生成了所有内容。查看生成的.apk时,这些文件嵌入在libs文件夹中,如下所示:

libs/
  |- x86/
      |- libagent.so   ; C library
      |- libclient.so  ; C library
      |- libcrypto.so  ; OPENSSL
      |- libssl.so     ; OPENSSL
  |- arm/
      |- libagent.so   ; C library
      |- libclient.so  ; C library
      |- libcrypto.so  ; OPENSSL
      |- libssl.so     ; OPENSSL

有人可以帮我解决这个问题吗?这让我疯狂。提前谢谢。

编辑经过一番挖掘后,当我从使用OpenSSL的libclient.so调用初始化方法时,似乎会发生这种情况。 libagent.so的初始化不使用OpenSSL。可能有关系吗?

0 个答案:

没有答案