sigsegv 11
ネイティブコードでは、何が間違っているのかを理解するためにストリッピングを避ける必要があります。アプリはライブラリ(aar)を使用し、 'cmd-strip' hack でaarのストリッピングを回避できました。しかし、apkで削除された.so
はとにかく使用されるので、おそらくtransformNative_libsWithStripDebugSymbolForDebug
gradleタスク。それを避けるための変更はありますか?
PS。見つかった 同様の質問 on SOしかし、それは少し異なります(私の場合は、シンボルを剥がさないでaarを使用します)。
PackagingOptionsには文書化されていないメソッド「doNotStrip」があり、build.gradleに次の行を追加するだけです。
packagingOptions{
doNotStrip "*/armeabi/*.so"
doNotStrip "*/armeabi-v7a/*.so"
doNotStrip "*/x86/*.so"
}
幸いなことに、実際にアプリにシンボルを保持する必要はありません。 NDKにはndk-stack
(NDKのルートにあります)というツールが付属しており、スタックトレースをシンボル化できます。 https://developer.Android.com/ndk/guides/ndk-stack .html