我試圖調試我的JNI
函數,爲此我希望顯示傳入的jstring
參數到logcat
以驗證其正確性。在JNI函數中將jstring寫入logcat
我試過下面的代碼這樣做,但它一直崩潰。
LOGD(myStringArg);
其中myStringArg
被聲明爲jstring
。
如果我在我的JNI
函數和LOGD
函數中聲明並定義了另一個jstring
,它就可以工作。但是,由於某種原因,如果我在JNI
函數參數上調用LOGD
,它會崩潰。我在內部已經驗證過jstring
不是null,並且在Java函數中調用它之前,我還檢查了值是否正確。
我已經轉換的jstring到一個const char *如下:顯示
const char *charString;
charString = (const char*)(*env)->GetStringUTFChars(env, myStringArg, NULL);
LOGD(charString);
沒什麼,這意味着charstring類型是空的?
任何想法如何做到這一點?
謝謝。
可能與[this]重複(http://stackoverflow.com/questions/4181934/jni-converting-jstring-to-char) – alijandro 2015-01-21 09:03:05