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 для получения ссылок.