android eclipse jedisct1/libsodium с чего начать

У меня есть программа, которая должна выполнить шифрование libsodium. Я нашел эту библиотеку libsodium, но я думаю, что ее нужно использовать с NDK. И поэтому я начал читать учебники по NDK, но я до сих пор не знаю, с чего начать использовать эту библиотеку. Если бы кто-то мог дать подсказку или очень полезный материал, чтобы дать представление о том, как интегрировать эту библиотеку, я был бы так счастлив.

Спасибо

1 ответ

Решение

Чтобы интегрировать libsodium в ваше приложение для Android, вам необходимо:

  • Библиотека libsodium, скомпилированная для вашей платформы (платформ) Android
  • Привязка JNI, такая как Калиум-Джни

Если вы доверяете случайным людям в Интернете (чего не следует делать!), Загрузите этот архив и распакуйте его в исходный код своего проекта. В противном случае следуйте инструкциям ниже, чтобы скомпилировать его самостоятельно.

libsodium

Вам нужна Linux box/VM с Android NDK для компиляции разделяемых библиотек libsodium, и, похоже, вам нужна текущая ветка git master для компиляции с NDK. После того, как вы это проверили, скомпилируйте код библиотеки Android для ARM, ARMv7 и x86:

./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 для вашей целевой платформы (платформ), установить его в каталог приложения 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/ каталог содержит нативные библиотеки калиума. Скопируйте его в свой проект Android.

Наконец, вам нужно скомпилировать 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 для получения ссылок.

Другие вопросы по тегам