Bir JNI için derlenmiş Internet'te rastgele kullanıcılara güveniyorsanız (bunu yapmamalısınız!), this tarball'u indirin ve projenize ekleyin. aynak. Aksi takdirde, kendiniz derlemek için aşağıdaki talimatları izleyin.
libsodium
Bir Linux kutu/Android NDK ile VM libsodium paylaşılan kütüphaneleri derlemek gerekir ve NDK ile derlemek akım git ana dalı gerekiyor gibi görünüyor. Bunu kontrol kez ARM, ARMv7 ve x86 Android kütüphane kodunu derlemek: ./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
kalium-jni
derlemek için kalium, sen SWIG yüklü gerekecektir. Daha sonra, SWIG C sarıcısını oluşturmanız, hedef platformlarınız için libkaliumjni yerel kodunu derlemeniz, onu uygulama libs/dizininize kurmanız ve JAR'ı içermeniz gerekir. kalium-jni/jni alt dizinde
, Barındırıcınıza için yudum sarıcı ve yerli libkaliumjni.so oluşturmak (bu JAR test etmek için gerekli olacak): Daha sonra ./compile.sh
, jni/Android.mk
değiştirmek ve derledik yerde libsodium ile /installs/
değiştirin ve $(TARGET_ARCH_ABI)
ile $(TARGET_ARCH)
sonra kalium-jni dizinde çalıştırın:
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
Şimdi libs/
dizin içeriyor yerli kalium kütüphaneleri. Android projenize kopyalayın.
mvn clean install
O ~/.m2/repository/org/abstractj/kalium/kalium-jni/1.0.0-SNAPSHOT/kalium-jni-1.0.0-SNAPSHOT.jar
sona olmalıdır:
Son olarak, potasyum JAR derlemek gerekiyor. Bunu libs
dizininize de kopyalayın. Bu javadoc ve referanslar almak için Eclipse'e ekleyebileceğiniz JAR'ler ile birlikte geliyor.
Armv7 sodyum yapınız alınmayacak, armv5 armv5 ve armv7 yapıları için kullanılacaktır. Bunu değiştirmek için, libsodium-android-arm'unu 'libsodium-android-armeabi' olarak yeniden adlandırmalı ve' TARGET_ARCH' içinde 'TARGET_ARCH_ABI' içinde * jni/Android.mk * ile değiştirmelisiniz. Ayrıca, desteklenen platformlar listesine kolayca x86 ekleyebilirsiniz: './dist-build/android-x86.sh && ln -s libsodium-android-i686 libsodium-android-x86' ve 'ndk-build APP_ABI = armeabi, armeabi-v7a, x86' – ph0b
Teşekkür ederiz ph0b, talimatları güncelledim ve x86 ile yeni bir tarball ekledim .so ve (umarım) sabit arm7 yapısı – ge0rg
libsodium talimatlarını takip ettim. Şimdi do_the_job.sh komutunu çalıştırdıktan sonra .so dosyaları ile bitiyorum. Şimdi nasıl .jar alabilirim? Çünkü şimdi kütüphaneyi nasıl kullanacağımı bilmiyorum. – user1007522