Android ndk не связывает v8 .a файлы символов - PullRequest
0 голосов
/ 22 сентября 2018

У меня есть проект, который похож на тоже J2V8 , который связывает v8 для Android.Но после компиляции J2V8 имеет все символы v8, но аналогичный проект теряет все символы v8.Вы можете проверить исходный J2V8.so здесь , используя команду

nm -D libj2v8.so | grep "GetIsolate"

, вы можете получить что-то вроде

003530fc T _ZN2v815SnapshotCreator10GetIsolateEv
003613c4 T _ZN2v86Object10GetIsolateEv
0035f78c T _ZN2v87Context10GetIsolateEv
0038c354 W _ZNK2v88internal10HeapObject10GetIsolateEv
00503a78 T _ZNK2v88internal11MessageImpl10GetIsolateEv
00503b4c T _ZNK2v88internal16EventDetailsImpl10GetIsolateEv

Но после компиляции пример проекта , связанный вывод - none.

Ответы [ 2 ]

0 голосов
/ 07 октября 2018

Наконец, решите это, включив исходный проект v8.

0 голосов
/ 01 октября 2018

Для проекта Android Studio, либо библиотеки .aar, либо приложения .apk, во время процесса сборки существует этап, на котором удаляются символы отладки динамических общих библиотек, то есть .so.

Если вы хотите, чтобы все символы не были удалены, вы можете добавить приведенную ниже конфигурацию в ваш build.gradle.

android {
    ...
    packagingOptions{
        doNotStrip "*/armeabi/*.so"
        doNotStrip "*/arm64-v8a/*.so"
        doNotStrip "*/armeabi-v7a/*.so"
        doNotStrip "*/x86/*.so"
        doNotStrip "*/x86_64/*.so"
    } 
    ...
}
...