J'ai une application Android qui utilise des bibliothèques c et est compilé pour les architectures x86, armeabi et armeabi-v7a.Architectures de puces mobiles Android différents dans différents pays?
Je l'ai remarqué récemment, il semble que fonctionnera dans un pays de certains téléphones, il semble toutefois, les utilisateurs d'applications en Allemagne, en Corée, en Italie et en Australie ont des UnsatisfiedLinkErrors, en particulier lors de l'utilisation OpenCV ..
I » avons inclus l'utilisation de OpenCV par
static {
System.loadLibrary("somecompiledlibname");
}
Exception java.lang.UnsatisfiedLinkError: la méthode native non trouvée: org.opencv.core.Mat.n_Mat :()
Mes questions sont les suivantes:
1) Les architectures sont-elles différentes selon les pays?
2) Comment puis-je contourner ce problème?
En lisant [this] (http://docs.opencv.org/java/2.4.2/org/opencv/core/Mat.html), il n'y a rien qui révèle des architectures dans différents pays, plutôt plus de probablement, le runtime manque une bibliothèque - * UnsatisfiedLinkErrors * est le problème ici, est-ce que vous empaquetez la bibliothèque avec l'application? Vous devrez peut-être creuser plus profondément, découvrir quels modèles ils sont, et les rechercher, découvrez quelle est la version Android de base qui va avec. Pourrait aussi être, la ROM ne peut pas avoir les bibliothèques natives compilées avec des points flottants durs .... – t0mm13b
Chargez-vous implicitement les bibliothèques natives OpenCV? Cela ne fonctionnera pas pour l'API Android ci-dessous 19 (voir https://issuetracker.google.com/issues/36950617). –