android eclipse jedisct1 / libsodium从哪里开始

我有一个程序需要执行libsodium加密。 我发现这个库libsodium但我认为它需要与NDK一起使用。 所以我开始阅读有关NDK的教程,但我仍然不知道从哪里开始使用这个库。 如果有人可以提供一些暗示或非常有用的东西来介绍如何整合这个库,我会很高兴。

谢谢

    要将libsodium集成到您的Android应用程序中,您需要:

    • 为您的Android平台编译的libsodium库
    • 像kalium-jni这样的JNI绑定

    如果您信任Internet上的随机用户(您不应该这样做!),请下载此tarball并将其解压缩到项目源中。 否则,请按照以下说明自行编译。

    libsodium

    你需要一个带有Android NDK的Linux机器/ VM来编译libsodium共享库,看起来你需要当前的git master分支来编译NDK。 检查完毕后,编译ARM,ARMv7和x86的Android库代码:

    ./autogen.sh ./dist-build/android-arm.sh # for older ARMv6 devices ./dist-build/android-armv7-a.sh # for the more recent ARMv7 devices ./dist-build/android-x86.sh # for the emulator / x86 devices # Provide the directory names nkd-build expects ln -s libsodium-android-armv6 libsodium-android-armeabi ln -s libsodium-android-armv7-a libsodium-android-armeabi-v7a ln -s libsodium-android-i686 libsodium-android-x86 

    钾,JNI

    要编译kalium,您需要安装SWIG 。 然后,您需要生成SWIG C包装器,为您的目标平台编译libkaliumjni本机代码,将其安装到您的app libs /目录中并包含JAR。

    在kalium-jni / jni子目录中,为您的主机创建SWIG包装器和本机libkaliumjni.so(测试JAR需要它):

     ./compile.sh 

    然后,修改jni/Android.mk并将/installs/替换为编译libsodium的地方,将$(TARGET_ARCH)替换$(TARGET_ARCH_ABI)然后在kalium-jni目录中运行:

     ndk-build APP_ABI=armeabi,armeabi-v7a,x86 [...] [x86] Install : libkaliumjni.so => libs/x86/libkaliumjni.so [armeabi] Install : libkaliumjni.so => libs/armeabi/libkaliumjni.so [armeabi-v7a] Install : libkaliumjni.so => libs/armeabi-v7a/libkaliumjni.so 

    现在libs/目录包含本机kalium库。 将其复制到您的Android项目中。

    最后,您需要编译kalium JAR:

     mvn clean install 

    它最终应该在~/.m2/repository/org/abstractj/kalium/kalium-jni/1.0.0-SNAPSHOT/kalium-jni-1.0.0-SNAPSHOT.jar 。 将其复制到libs目录。 它伴随着javadoc和源JAR,您可以将其添加到Eclipse中以获取引用。