March 22, 2011

native code發生奇怪的crash

最近一直發生JNI的code鬼打牆的狀況。
同一份code的有時候build起來就可以用,有時候build起來就會一直當掉。查svn的log查了老半天查不出個所以然。

結果原來是因為,我們只看到native code會掛掉就一直查native code的部份,殊不知原來NDK在build的時候也會很"聰明"的去檢查AndroidManifest.xml,看來似乎是為了如果現在是debug build的話,JNI也要跟著build一些東西進去。而那些不知道到底是什麼,又根本沒用到的東西,就是造成我最近莫名其妙跑起來都會當掉的原因。

總之,如果各位在使用NDK又發生奇怪的狀況,請記得先試試看,把AndroidManifest.xml裡面的debuggable先設為false來build native code,以免發生這種怪事。

以上case close!

0 Comments: