Android開發(fā)手記之Native Crash
項目即將發(fā)版,測試人員在一臺之前未測試的機器A上發(fā)現(xiàn)一個崩潰,而且是啟動就崩潰,
關(guān)鍵崩潰日志還是native crash:
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1
r0 00000001 r1 12c26e2c r2 70db68b8 r3 00000000
r4 130ef070 r5 f2f34900 r6 131162e0 r7 00000001
r8 131f0c00 r9 f3006b00 sl 131f0d80 fp 00000001
ip 00009568 sp d72a2360 lr 73f3ac09 pc dd6d143e cpsr 000e0030
以前看到這樣的日志,一般都扔給系統(tǒng)組去找,但這次不一樣,每次都崩潰。
1.用給測試人員的包,在測試機器A驗證了下確實崩潰,但其他機器不崩潰。
2.本地自己編譯了一個debug版本,在測試機器A上運行,竟然沒有崩潰。
可以確定是混淆有問題了,至于為啥其他機器沒問題,確實很奇怪。
3.打LOG,確定崩潰地點。--- 啟動的時候運行的代碼,進行二分查找。
最終確定push那個模塊有問題,額外進行深入,發(fā)現(xiàn)是接入的Oppo模塊有問題,
上網(wǎng)找資料和分析SDK中的代碼,加混淆配置。
解決。
總結(jié):
遇到的native crash 不要怕,尤其是必現(xiàn)的,最壞的情況下是對特定版本、機型移除這個模塊。
浙公網(wǎng)安備 33010602011771號