Vous rencontrez l'erreur ci-dessus dans votre application Android JNI ? Lisez la suite...
Je dirai d'emblée que j'ai déjà résolu ce problème, à ma façon, mais je pense que quelque chose dans le système de construction d'Android (peut-être en ce qui concerne Eclipse) est cassé, et j'espère épargner à quelqu'un d'autre des heures de souffrance. Peut-être que d'autres ont rencontré ce problème et peuvent commenter ce qui a fonctionné pour eux.
Pendant un certain temps, j'ai eu un projet Android avec du code JNI que j'ai développé en utilisant le NDK. Aujourd'hui, j'ai modifié quelque chose dans le code java et pouf, je ne pouvais plus charger ma bibliothèque JNI. Il a échoué avec une exception du genre :
E/AndroidRuntime( 999) : java.lang.UnsatisfiedLinkError : Couldn't load mylibrary : findLibrary returned null (impossible de charger ma bibliothèque)
J'ai cherché sur Internet et j'ai tout essayé (reconstruire, fermer et relancer Eclipse, etc, etc).
Qu'est-ce qui a finalement résolu mon problème ? J'ai physiquement désinstallé mon application de l'appareil avant d'essayer une autre exécution. Et c'est tout. Après ça, ça a marché. Qu'est-ce qui a marché pour vous ?
0 votes
J'ai vu un comportement étrange où j'ai dû copier le fichier .so hors de l'arborescence de l'ordinateur. \LIBS\ARMEABI et le placer dans le répertoire \LIBS pour qu'il le trouve.
1 votes
J'ai le même problème avec mon application, malheureusement certains de mes clients reçoivent ce problème (je vois beaucoup de rapports de crash pour cela). Je ne sais pas pourquoi cela ne se produit que sur "certains", mais cela fonctionne sur la plupart. Je n'ai jamais été capable de le reproduire moi-même. Très étrange...
0 votes
J'avais deux instances de mon application sur le dispositif, ayant juste ajouté un sharedUserId au manifeste, et j'ai oublié de désinstaller l'ancienne version d'abord. Merci pour le rappel !
1 votes
@BitBank Vous l'avez cloué ! Mon application fonctionnait bien sur l'émulateur, mais pas sur le téléphone, j'ai copié les bibliothèques dans tous les dossiers Intel, amreabi et ça a marché. Oh oui.
0 votes
support.crashlytics.com/knowledgebase/articles/