JNI中,getBytes 最好指明UTF 8

2021-09-26 21:31:41 字數 279 閱讀 6040

同事報了個bug,說是中文文字取不到。

吾就感覺奇怪,在linux上正確,在windows上怎麼就不對?是不是測試人員搞錯了?

吾親自試之……果然不對。

不對怎麼辦?這個……還好吾對編碼問題很了解,自然就想到了編碼問題。於是,吾在getbytes()時,原來沒有引數,現在加上utf-8。果然,立竿見影,文字取到了。

當然因為吾智商低,通過jni呼叫getbytes()時,開始引數直接使用"utf-8",立即崩潰……反覆除錯多次,才明白過來要先轉換為jstring才能作為引數傳遞進去。

JNI中列印日誌

匯入 log 標頭檔案 include 在 android.mk 中加上 local ldlibs llog,必須要把它放在 include clear vars 後面才行 定義 log 函式 define tag mydemo jni 這個是自定義的log的標識 define logv andro...

JNI中的log日誌

注意 android.mk裡有一行include clear vars 必須把local ldlibs llog放在它後面才有用,否則相當於沒寫。local path call my dir include clear vars local module helloworld local src f...

JNI中新增log日誌

注意 android.mk裡有一行include clear vars 必須把local ldlibs llog放在它後面才有用,否則相當於沒寫。plain view plain copy local path call my dir include clear vars local module ...