Как собрать исходный код Android React Native в режиме отладки с использованием собственных (C ++) символов? - PullRequest
0 голосов
/ 06 апреля 2019

Я хочу собрать код React-Native с возможностью отладки нативного кода (Java & C ++), что я делал до сих пор:

  1. Реактор клонирования - исходный код
  2. Добавлено NDK_DEBUG=1 в buildReactNdkLib задание Gradle - код
  3. Мне пришлось добавить несколько файлов в файл make проекта глупости - код
  4. Я добавил команду не указывать .so файлы в одном из make-файлов - 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 голосов
/ 06 апреля 2019

Только что нашел ответ, мне не нужно устанавливать NDK_DEBUG=1, все неразборные файлы помещаются в build / tmp / buildReactNdkLib / local //

Вам просто нужно настроить каталог символов вAndroid-студия: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...