2011-04-23 48 views
0

爲什麼此C++(NDK)線程將整個程序關閉?Android NDK線程中止程序

{ 
sleep(2); 

// The JNIEnv 
JNIEnv* jenv = NULL; 

// attach thread to running JVM 
int err = jvm->AttachCurrentThread(&jenv, NULL); 

char szerr[256]; 
sprintf(szerr, "AttachCurrentThread() returned: %d", err); 

__android_log_print(ANDROID_LOG_ERROR, "MYPROG", szerr); 

jvm->DetachCurrentThread(); 

sleep (5); 
} 

szerr是0,如果我不AttachCurrentThread程序不會中止。墮胎 發生沒有任何錯誤在console/logcat中指示。

任何幫助?

回答

1

檢查了這一點:

http://comments.gmane.org/gmane.comp.handhelds.android.ndk/4687

也許你應該使用GetEnv(),看看環境設置,調用AttachCurrentThread()(否則沒有必要)前。更多信息here

+0

謝謝你,但我不會再追求這個了。我想我可能已經解決它順便說一句:/無論如何,這些東西被遺棄。 – kellogs 2011-05-16 17:08:33