Obtenez de l'objet à partir d'un objet avec de la JNI dans C

public class Student
{
   private People people;
   private Result result;
   private int amount;
}

Voici l'exemple de la classe en Java, en C, j'ai essayé d'obtenir le "peuple", "Étudiant", mais j'ai échoué. Cependant, je suis en mesure d'obtenir le type int "montant" à partir de "l'Étudiant".

jobject getObjectFromObject(JNIEnv *env, jobject obj, const char * fieldName)
{
    jfieldID fid; /* store the field ID */
    jobject i;

    /* Get a reference to obj's class */
    jclass cls = (*env)->GetObjectClass(env, obj);

    /* Look for the instance field s in cls */
    fid = (*env)->GetFieldID(env, cls, fieldName, "L");
    if (fid == NULL)
    {
        return 0; /* failed to find the field */
    }

    /* Read the instance field s */
    i = (*env)->GetObjectField(env, obj, fid);

    return i;
}

Je suis en train de passer "peuple" comme un nom de champ dans la méthode, mais il donne toujours l'erreur suivante: "java.lang.NoSuchFieldError: les personnes"

j'ai corrigé le type de signature en passant le nom du package.Mais parvenez toujours pas à résoudre mon problème

OriginalL'auteur user1151874 | 2013-04-03