天天看點

android 擷取數組大小,android – JNI:如何獲得jbyteArray大小

背景

我正在使用JNI中的位元組數組.而且我無法獲得jbyteArray的長度.我正在Windows 7中的eclipse中編寫代碼.

private native int Enroll( byte[] pSeed );

JNI代碼:

在JNI中,我有一個結構,它有兩個成員無符号長度和無符号字元資料[1]

typedef struct blobData_s {

unsigned long length;

unsigned char data[1];

} blobData_t;

現在我的JNI函數得到參數jbyteArray jpSeed我想得到jpSeed的長度并将其設定為struct的length成員.

JNIEXPORT jint JNICALL Java_com_Test_Enroll( JNIEnv* env, jobject thiz, jbyteArray jpSeed ){

blobData_t* bd = malloc( sizeof(blobData_t) );

bd->length = **Question 1**

bd->data[1] = jbyteArray;

}

問題1:如何在JNI中獲得jpSeed的長度?

問題2:此代碼是否正常bd.data [1] = jbyteArray; ?