2017-05-31 106 views
0

我對Android編程相當陌生,並且正在嘗試將libsodium-jni庫用於某些基本的Crypto任務。在Android Studio中我添加libsodium-JNI的AAR作爲庫的依賴,我可以看到這個改變我的build.gradle文件中加入:在Android Studio中包含依賴項給出UnsatisfiedLinkError

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

許多在這個庫做工精細的功能,但是當我使用在Sodium.sodium_init()函數,我得到

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) 

我猜不知何故這是一個事實,即sodium_init是土生土長的功能,由於某種原因,執行不被安裝到手機(或仿真器)引起的通過gradle。

任何幫助將不勝感激。

回答

0

要導入Sonatype的版本庫,你需要這個

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

添加到項目中的build.gradle文件中的allprojects對象這將導致與此類似:

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

然後你可以添加您的編譯語句在您的應用程序build.gradle文件

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

感謝您的回覆。我已經添加了這些,並且發生了相同的錯誤。我可以告訴該庫正在被添加,因爲我可以安全地調用庫中的某些函數而沒有問題。只有當我稱鈉功能有問題。 – anonnona

+0

嗯,我真的不知道圖書館,但似乎[你不是唯一有問題](https://github.com/joshjdevl/libsodium-jni/issues/66)。這肯定是一個錯誤 – MatPag

+0

是的,我看到了。作爲一個相對的初學者,總是容易認爲問題出在你身上,而不是圖書館/環境!好吧,我將不得不考慮一個解決方法,然後我想。再次感謝。 – anonnona

相關問題