Como converter jbyteArray em caractere nativo * em jni?

Estou tentando converter um jbyteArray para string c nativa (char *) em jni? Infelizmente, não consigo encontrar nenhuma documentação sobre como fazer isso. Estou invocando uma função java com o seguinte protótipo no código c.

public static byte[] processFile(byte[] p_fileContent)

No código c, estou invocando esta função que está retornando uma matriz de bytes. O conteúdo dessa matriz de bytes é uma string java. Mas preciso convertê-lo em uma string c.

jbyteArray arr = (jbyteArray) env->CallObjectMethod(clsH, midMain, jb);
printf("%s\n", (char*) arr);

questionAnswers(1)

yourAnswerToTheQuestion