Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo evitar la eliminación de símbolos de código nativos para la aplicación de Android

Estoy recibiendo sigsegv 11 en código nativo y necesito evitar desnudar para entender lo que está mal. La aplicación utiliza la biblioteca (aar) y pude evitar el stripping para el aar con 'cmd-strip' hack . Pero en la versión apk despojado de .so se utiliza de todos modos por lo que la aplicación tira los símbolos, probablemente mientras transformNative_libsWithStripDebugSymbolForDebug gradle tarea. ¿Algún cambio para evitarlo?

PD. Se encontró una pregunta similar en SO pero es un poco diferente (usando aar aquí con símbolos no despojados en mi caso).

2 Solutions collect form web for “Cómo evitar la eliminación de símbolos de código nativos para la aplicación de Android”

Hay un método indocumentado 'doNotStrip' en packagingOptions, solo añada las siguientes líneas en su build.gradle

 packagingOptions{ doNotStrip "*/armeabi/*.so" doNotStrip "*/armeabi-v7a/*.so" doNotStrip "*/x86/*.so" } 

Afortunadamente, en realidad no necesita guardar los símbolos en la aplicación. El NDK envía una herramienta llamada ndk-stack (está en la raíz del NDK) que puede simbolizar una traza de pila para usted: https://developer.android.com/ndk/guides/ndk-stack.html

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.