关于jbyteArray 使用过程中地址偏移的问题


jint anticoll_card(JNIEnv* env,jbyteArray card_num)
{
    int status=0;
    u8 temp[4];
    LOGE("HGT card_num1:0x%x",card_num);
    temp[0]=1;
    temp[1]=1;
    temp[2]=1;
    temp[3]=1;
    status = com_cascaded_anticoll(temp);
    LOGE("HGT card_num2:0x%x",card_num);
    (*env)->SetByteArrayRegion(env, card_num, 0, 4, temp);
    return status;
}

打印结果如下:
07-26 10:29:30.056 5131 5131 E nfc : HGT card_num1:0xfcdc62c8
07-26 10:29:30.063 5131 5131 E nfc : HGT card_num2:0xfcdc62b1

card_num没用到,但地址偏移了,我禁掉status = com_cascaded_anticoll(temp); 就正常,但是这个函数里面又没有card_num的调用。有人碰到过类似的情况不。