Вот то, что я до сих пор:JNI: Native библиотека требует аннулировать *, как я могу конвертировать мой jbytearray в C пустоте *
Java:
public static native String getConfigName(byte[] array);
C: (приведенный ниже код возвращает фиктивное значение для компиляции)
jstring Java_com_example_plugin_HelloJni_getConfigName(JNIEnv* env, jobject thiz, jbyteArray array)
{
// get jbyte array from array and it's length
jbyte* bufferPtr = (*env)->GetByteArrayElements(env, array, NULL);
jsize lengthOfArray = (*env)->GetArrayLength(env, array);
// Code I need to run using void* and size_t
dlpspec_scan_read_configuration ( void * pBuf, const size_t bufSize)
// release array
(*env)->ReleaseByteArrayElements(env, array, bufferPtr, 0);
return (*env)->NewStringUTF(env, "Hello from JNI ! Compiled with ABI");
}
Как я могу превратите этот jbyte * в void *, будет ли это просто (void *)? также как насчет преобразования jsize в size_t? это мой первый опыт использования JNI и Android NDK. Спасибо
Вам не нужно ничего вводить в 'void *'. – EJP