Erreur de Chargement de la bibliothèque d'Exécution dans Android Studio
Dans mon projet android je suis à l'aide d'un pot de bibliothèque qui utilise une bibliothèque d'exécution libiconv.donc. J'ai la bibliothèque incluse dans mon projet, le répertoire lib. La bibliothèque est incluse pour tous les trois architectures dans le répertoire suivant hirarcy.
libs>
armeabi>libiconv.so
armeabi-v7a>libiconv.so
x86>libiconv.so
Mais je suis Exceptions enregistrés par les journaux de chat:
05-23 12:18:58.857 3081-3081/? E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load libiconv.so from loader dalvik.system.PathClassLoader[dexPath=/data/app/com.tariq.buynow-1.apk,libraryPath=/data/app-lib/com.tariq.buynow-1]: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:365)
at java.lang.System.loadLibrary(System.java:535)
at com.tariq.buynow.CameraActivity.<clinit>(CameraActivity.java:30)
Où à CameraActivity.java:30:
static { System.loadLibrary("libiconv.so"); }
J'ai aussi essayé de
static { System.loadLibrary("iconv"); }
Est-il quelque chose à faire avec gradle de configuration, comme je suis nouveau sur Android Studio, ou la source de l'erreur est quelque chose d'autre?
OriginalL'auteur Tariq | 2013-05-23
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce même problème en essayant d'utiliser ZBar SDK. Vous aurez très probablement besoin de modifier votre build.gradle pour s'assurer que les bibliothèques natives sont inclus dans votre fichier APK. Voilà comment j'ai résolu votre problème: https://stackoverflow.com/a/16993006/2221876
src/main/jniLibs
et gradle fera le reste.OriginalL'auteur Michael Lawrie
System.loadLibrary()
regarde dans la lib de l'appareil, et non pas l'application. Pour faire ce que vous voulez, vous aurez besoin de copier le répertoire lib de l'application sur le téléphone du système de fichiers, et de les charger à partir de là. Je suggère de mettre les libs /res/raw/et faire de cette façon:Cela peut ne pas fonctionner exactement, mais le sens général de ce qui devrait.
OriginalL'auteur DemonWav
Ajouter la ligne suivante dans votre build.gradle scripts
jniLibs.srcDirs = ['libs'] //copie *.donc, pour package
Dans la vue projet, vous devez vous pouvez le voir :
Module/libs/ABI/NOM*.donc
OriginalL'auteur Merlin