2014-03-12 73 views
0

Grettings。Android 4.3開始活動時的原生崩潰

我在unity3d 3.5.7中爲我的項目構建了一個插件。我正在使用eclipse,並且該庫似乎在低於4.3的android上運行良好。但是,當我在4.3上運行它時,它會崩潰,創建一個活動。

目前我正在運行一項擴展UnityPlayerActivity的活動。它從沒有問題開始。然後,我將獲得關於統一性的當前活動並調用開始另一項活動的方法。當我創建意圖時,我將當前上下文(正在運行的活動)傳遞給它。當時的上下文不是空的。然後我調用context.startActivity()並傳遞我創建的意圖。該應用程序繼續崩潰。奇怪的是,它在4.3以外的其他版本上完美運行。

的logcat的崩潰,我得到的是這樣的一個:

F/libc (21032): bionic/libc/upstream-netbsd/libc/stdlib/bsearch.c:70: bsearch: assertion "key != NULL" failed 
    F/libc (21032): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 21057 (UnityMain) 

有人可以解釋爲什麼發生這種情況和workarround呢?

回答

1

「致命信號11(SIGSEGV)」 - 大多數情況下,當某些內存分配給某些指針/數據結構在JNI函數返回之前未正確釋放時,本地發生此錯誤。可能還有其他一些原因。 檢查在切換上下文之前是否所有內存都被正確釋放。