Je suis en train sigsegv 11
en code natif et je dois éviter de supprimer pour comprendre ce qui ne va pas. L'application utilise la bibliothèque (aar) et j'ai pu éviter le dépouillement de l'aar avec 'cmd-strip' hack . Mais dans la version apk dépouillée de .so
est utilisé de toute façon, donc l'application supprime les symboles, probablement pendant que transformNative_libsWithStripDebugSymbolForDebug
tâche gradle. Un changement pour l'éviter?
PS. Trouvé question similaire sur SO mais c'est un peu différent (en utilisant aar ici avec des symboles non supprimés dans mon cas).
Il y a une méthode non documentée 'doNotStrip' dans packagingOptions, ajoutez simplement les lignes suivantes dans votre build.gradle
packagingOptions{
doNotStrip "*/armeabi/*.so"
doNotStrip "*/armeabi-v7a/*.so"
doNotStrip "*/x86/*.so"
}
Heureusement, vous n'avez pas besoin de conserver les symboles dans l'application. Le NDK fournit un outil appelé ndk-stack
(c'est à la racine du NDK) qui peut symboliser une trace de pile pour vous: https://developer.Android.com/ndk/guides/ndk-stack.html