如何在调试模式下使用本机(C ++)符号构建Android React本机源代码?

时间:2019-04-06 08:45:02

标签: react-native android-ndk react-native-android ndk-build

我想构建带有调试本机代码(Java和C ++)选项的React-Native代码,这是我到目前为止所做的:

  1. 克隆本地反应源代码
  2. NDK_DEBUG=1添加到了buildReactNdkLib gradle任务-code
  3. 我必须将一些文件添加到愚蠢项目的制作文件-code
  4. 我添加了不要在其中一个makefile文件中设置.so文件的命令-code-实际上,我确定NDK_DEBUG=1缺省情况下正在执行此操作,但不是这样

结果是构建正在传递,因此文件实际上没有被剥离,但是应用程序在运行时崩溃

2019-04-06 11:24:31.058 24906-24906/? A/DEBUG: pid: 24850, tid: 24890, name: mqt_js  >>> com.facebook.react.uiapp <<<
2019-04-06 11:24:31.058 24906-24906/? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
2019-04-06 11:24:31.059 24906-24906/? A/DEBUG: Abort message: 'java_vm_ext.cc:504] JNI DETECTED ERROR IN APPLICATION: JNI GetObjectRefType called with pending exception com.facebook.react.uimanager.IllegalViewOperationException: No ViewManager defined for class Text'
2019-04-06 11:24:31.059 24906-24906/? A/DEBUG:     eax 00000000  ebx 00006112  ecx 0000613a  edx 00000006
2019-04-06 11:24:31.059 24906-24906/? A/DEBUG:     esi 0000613a  edi 878553d8
2019-04-06 11:24:31.059 24906-24906/? A/DEBUG:     xcs 00000073  xds 0000007b  xes 0000007b  xfs 0000003b  xss 0000007b
2019-04-06 11:24:31.059 24906-24906/? A/DEBUG:     eip ad1d7ac4  ebp 878553f8  esp 8785538c  flags 00000296
2019-04-06 11:24:31.070 24906-24906/? A/DEBUG: backtrace:
2019-04-06 11:24:31.070 24906-24906/? A/DEBUG:     #00 pc 00000ac4  [vdso:ad1d7000] (__kernel_vsyscall+16)
2019-04-06 11:24:31.070 24906-24906/? A/DEBUG:     #01 pc 00075b3c  /system/lib/libc.so (tgkill+28)
2019-04-06 11:24:31.070 24906-24906/? A/DEBUG:     #02 pc 0001f04e  /system/lib/libc.so (abort+110)
2019-04-06 11:24:31.070 24906-24906/? A/DEBUG:     #03 pc 0053bcbd  /system/lib/libart.so (_ZN3art7Runtime5AbortEPKc+669)
2019-04-06 11:24:31.070 24906-24906/? A/DEBUG:     #04 pc 0053c599  /system/lib/libart.so (_ZN3art7Runtime7AborterEPKc+41)
2019-04-06 11:24:31.070 24906-24906/? A/DEBUG:     #05 pc 0011c3d3  /system/lib/libart.so (_ZNSt3__110__function6__funcIPFvPKcENS_9allocatorIS5_EES4_EclEOS3_+35)
2019-04-06 11:24:31.070 24906-24906/? A/DEBUG:     #06 pc 0065168a  /system/lib/libart.so (_ZN7android4base10LogMessageD1Ev+1034)
2019-04-06 11:24:31.070 24906-24906/? A/DEBUG:     #07 pc 00386952  /system/lib/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+2146)
2019-04-06 11:24:31.071 24906-24906/? A/DEBUG:     #08 pc 00386bd1  /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_Pc+113)
2019-04-06 11:24:31.071 24906-24906/? A/DEBUG:     #09 pc 0014ec45  /system/lib/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+69)
2019-04-06 11:24:31.072 24906-24906/? A/DEBUG:     #10 pc 0014e710  /system/lib/libart.so (_ZN3art11ScopedCheck11CheckThreadEP7_JNIEnv+544)
2019-04-06 11:24:31.072 24906-24906/? A/DEBUG:     #11 pc 0014d311  /system/lib/libart.so (_ZN3art11ScopedCheck22CheckPossibleHeapValueERNS_18ScopedObjectAccessEcNS_12JniValueTypeE+161)
2019-04-06 11:24:31.072 24906-24906/? A/DEBUG:     #12 pc 0014c8b3  /system/lib/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+1155)
2019-04-06 11:24:31.072 24906-24906/? A/DEBUG:     #13 pc 0014bf36  /system/lib/libart.so (_ZN3art8CheckJNI16GetObjectRefTypeEP7_JNIEnvP8_jobject+998)
2019-04-06 11:24:31.072 24906-24906/? A/DEBUG:     #14 pc 000e2fce  /data/app/com.facebook.react.uiapp-uUhqD6BXzpF-7FnHQHBjIA==/lib/x86/libreactnativejni.so (_ZN7_JNIEnv16GetObjectRefTypeEP8_jobject+62)

1 个答案:

答案 0 :(得分:0)

找到答案了,我不需要设置NDK_DEBUG=1,所有未剥离的文件都放在build / tmp / buildReactNdkLib / local //

您只需要在Android Studio中配置符号目录: enter image description here