天天看點

使用jni直接通路java對象中的字段

Java類:UserInfo

其中三個設定方法,期望使用C實作,這裡涉及到JNI中的幾個函數:

1、FindClass:找到某個類,并傳回jclass對象

2、GetObjectClass: 擷取到某個對象的類型,并傳回jclass對象

3、GetFieldID:擷取到字段的ID

4、SetIntField/SetLongField/SetObjectField:為字段設值

基于上面的幾個方法,可以編寫代碼如下:

編寫Android.mk後編譯,可以測試通過。

注意:由于方法簽名、字段名稱都是寫死在C語言中的,是以代碼不能混淆。