J'ai un projet Android qui contient une classe qui utilise JNI pour tirer une valeur d'une fonction C. La fonction C a été intégrée dans une bibliothèque en utilisant NDK. La valeur renvoyée par la fonction C est à son tour utilisée pour initialiser une variable dans une classe lors de son premier chargement. Cela fonctionne bien. Cependant, je veux aussi que cela fonctionne quand la bibliothèque est manquante en fournissant une valeur par défaut. Alors Im en utilisant quelque chose comme ceci:Comment intercepter UnsatisifiedLinkError lors de l'utilisation de la bibliothèque NDK dans une application Android?
static native String getstring();
static {
try {
System.loadLibrary("library");
NAME = getstring();
}
catch (Exception e) {
NAME = "Default";
}
}
Malgré les prises, je suis toujours d'obtenir un UnsatisfiedLinkError quand je tente d'exécuter ce code avec la bibliothèque manquante. Pourquoi je n'attrape pas l'exception? Qu'est-ce que je fais mal?
Ah, c'est logique. Attraper cette erreur spécifique et définir une valeur par défaut fonctionne parfaitement. Merci! – Eno