2017-05-31 1 views
0

Je suis assez nouveau à la programmation Android et essaie d'utiliser la bibliothèque libsodium-JNI pour certaines tâches Crypto de base. Dans Android studio ajouter libsodium-JNI-aar en tant que dépendance Bibliothèque et je peux voir que cela modifie mon fichier build.gradle en ajoutant:Y compris une dépendance dans Android donne studio UnsatisfiedLinkError

compile 'com.github.joshjdevl.libsodiumjni:libsodium-jni-aar:1.0.6' 

La plupart des fonctions de cette bibliothèque travail bien, mais quand je l'utilise la fonction Sodium.sodium_init() Je reçois

java.lang.UnsatisfiedLinkError: No implementation found for int org.libsodium.jni.SodiumJNI.sodium_init() (tried Java_org_libsodium_jni_SodiumJNI_sodium_1init and Java_org_libsodium_jni_SodiumJNI_sodium_1init__) 
                    at org.libsodium.jni.SodiumJNI.sodium_init(Native Method) 

Je devine en quelque sorte cela est causé par le fait que sodium_init est une fonction native et pour une raison quelconque la mise en œuvre n'est pas installé sur le téléphone (ou émulateur) par gradle.

Toute aide serait grandement appréciée.

Répondre

0

Pour importer un dépôt Sonatype vous devez ajouter cette

maven { 
    url "https://oss.sonatype.org/content/repositories/snapshots/" 
} 

à votre fichier build.gradle de projet dans l'objet allprojects qui devrait aboutir à quelque chose de semblable à ceci:

allprojects { 
    repositories { 
     jcenter() 
     maven { 
      url 'https://oss.sonatype.org/content/repositories/snapshots/' 
     } 
    } 
} 

Ensuite, vous pouvez ajouter votre déclaration de compilation dans votre application fichier build.gradle

compile 'com.github.joshjdevl.libsodiumjni:libsodium-jni-aar:1.0.7-SNAPSHOT' 
+0

Merci pour votre réponse. J'ai ajouté ceux-ci et la même erreur se produit. Je peux dire que la bibliothèque est ajoutée parce que je peux appeler certaines fonctions de la bibliothèque sans problème. Ce n'est que lorsque j'appelle les fonctions de sodium qu'il y a un problème. – anonnona

+0

Mmm je ne connais pas la bibliothèque sincèrement, mais semble [que vous n'êtes pas le seul avec des problèmes] (https://github.com/joshjdevl/libsodium-jni/issues/66). C'est à coup sûr un bug – MatPag

+0

Oui j'ai vu ça. Être un débutant relatif est toujours facile à assumer le problème est avec vous plutôt que la bibliothèque/environnement! Ok je vais devoir penser à une solution de contournement alors je suppose. Merci encore. – anonnona