0

我对 Android 编程相当陌生,并且正在尝试将 libsodium-jni 库用于一些基本的加密任务。在 Android Studio 中,我将 libsodium-jni-aar 添加为库依赖项,我可以看到这通过添加以下内容修改了我的 build.gradle 文件:

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 没有将实现安装到手机(或模拟器)。

任何帮助将不胜感激。

4

1 回答 1

0

要导入 Sonatype 存储库,您需要添加这个

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

allprojects对象中的项目 build.gradle 文件,这将导致类似于以下内容:

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

然后你可以在你的 app build.gradle 文件中添加你的编译语句

compile 'com.github.joshjdevl.libsodiumjni:libsodium-jni-aar:1.0.7-SNAPSHOT'
于 2017-05-31T10:42:38.717 回答