android程序員在做jni開發(fā)時時常會出現(xiàn)程序崩潰的現(xiàn)象恭朗,最近幾日在調(diào)試jni的過程中程序突然的崩潰讓我懊惱不已瑰步,app logcat只會給java代碼的錯誤捕獲,對于jni中的錯誤不會有明顯的提示衣吠,只會給一個大概的方向锰什,這讓我們在jni代碼中尋找錯誤實在是很麻煩。
ndk給我們提供了一個工具玉工。
我們在as 工具中的terminal命令行中首先進(jìn)入 main目錄下面羽资,(cd app/src/main)
然后輸入 adb shell logcat | ndk-stack -sym obj/local/armeabi-v7a(這個是你app支持的cpu架構(gòu)中的任何一個都可以)
錯誤直接定在在jniUtils_ffempegUtils.c的第50行,然后們就可以有目的的去修改這個問題遵班,另外需要提醒的是屠升,這個日志打印錯誤的同時也輸出了捕獲異常的時間,一般最后一個錯誤就是最新發(fā)生的狭郑。ctrl + c 退出該次命令腹暖。