Quel est le Descripteur de la méthode/de la signature de byte[] tableau d'octets en utilisant JNI?
Ma classe JAVA extrait de code. Je veux accéder à getReg_chal() la méthode de mon fichier C en utilisant JNI:
public byte[] getReg_chal() {
return reg_chal;
}
Mon fichier C de faire quelques jni opération:
mid = (*env)->GetMethodID(env, info, "getReg_chal()", "([B)V");
mid = (*env)->GetMethodID(env, info, "getReg_chal()", ***);
Je veux savoir le descripteur de la méthode pour mon byte[]. Écrit "({B)V"
me donne la méthode ne trouve pas d'erreur. Que serais-je remplir ***?
S'il vous plaît aider moi. Merci à l'avance.
Où avez-vous
"({B)V"
de, et pourquoi les avez-vous pensé que cela fonctionnerait?OriginalL'auteur Rohan K | 2011-09-16
Vous devez vous connecter pour publier un commentaire.
[B
http://download.oracle.com/javase/6/docs/technotes/guides/jni/spec/types.html#wp9502
Débogage conseil: la recherche de votre projet Android dossier, ouvrez bin/com dossier, quelque part à l'intérieur vous trouverez compilé .les fichiers de classe java à partir de votre sources. Utilisez des outils tels que Total commander pour afficher le fichier de classe (F3 - lister), même si c'est un fichier binaire, vous allez voir quelques textes. Trouver le texte de votre nom de méthode getReg_chal. Juste à côté vous devriez voir son jni signature. Copier/coller à partir de là et vous avez terminé.
Il doit être "()[B" dans votre cas.
Merci pour votre aide la souris..
mieux encore, utilisez "javap -s ClassName" pour obtenir toutes les signatures joliment imprimé sur stdout 🙂
OriginalL'auteur Pointer Null