File | Date | Author | Commit |
---|---|---|---|
gradle | 2022-09-11 |
![]() |
[07971c] gradle wrapper gradle 7.5.1 update |
logo | 2015-12-16 |
![]() |
[0fe875] Moved logo folder out of sources. |
src | 2022-09-11 |
![]() |
[e02d33] 1.2.17.0 version bump on libtorrent_jni.java |
swig | 2022-09-11 |
![]() |
[b5214f] Android NDK updated from r23 to r25b |
.gitignore | 2018-01-18 |
![]() |
[366657] give it a try to the name without version durin... |
CHANGE_VERSION_CHECKLIST.txt | 2022-04-22 |
![]() |
[c3b02d] Update CHANGE_VERSION_CHECKLIST.txt |
FUNDING.yml | 2020-06-30 |
![]() |
[9b2fb3] Add funding button |
LICENSE.md | 2015-12-31 |
![]() |
[70b521] Updated License Date |
README.md | 2021-08-13 |
![]() |
[87b362] readme update on jars needed for android |
build.gradle | 2022-09-11 |
![]() |
[895954] version bump to 1.2.17.0 |
changelog.txt | 2022-09-11 |
![]() |
[b5214f] Android NDK updated from r23 to r25b |
gradlew | 2021-12-18 |
![]() |
[1001a2] add gradlew (gradle wrapper) |
gradlew.bat | 2021-12-18 |
![]() |
[722cfd] gradlew.bat |
A swig Java interface for libtorrent by the makers of FrostWire.
Develop libtorrent based apps with the joy of coding in Java.
Discord Developer Chatroom Invite
Download the latest release .jars
All platforms will need you to use at least 2 .jar
files.
The .jar
with the java classes -> jlibtorrent-w.x.y.z.jar
and a secondary .jar
s containing the JNI binary library for the particular OS and CPU architecture.
In the case of desktop operating systems, you might want to extract the shared library inside the jar (.dll, .so, .dylib) and place it in a folder specified by the java.library.path
The secondary jars are:
- Windows: jlibtorrent-windows-w.x.y.z.jar
(x86 and x86_64 .dlls)
- Mac: jlibtorrent-macosx-w.x.y.z.jar
(x86_64 .dylib)
- Linux: jlibtorrent-linux-w.x.y.z.jar
(x86 and x86_64 .so)
In the case of Android, make sure to put the following 5 jars in your project's libs
folder (see FrostWire for Android's as an example):
- jlibtorrent-w.x.y.z.jar
- jlibtorrent-android-arm-w.x.y.z.jar
- jlibtorrent-android-arm64-w.x.y.z.jar
- jlibtorrent-android-x86-w.x.y.z.jar
- jlibtorrent-android-x86_64-w.x.y.z.jar
If you use ProGuard to obfuscate/minify make sure to add the following statement
-keep class com.frostwire.jlibtorrent.swig.libtorrent_jni {*;}
Note that there are multiple version of jlibtorrent for different platforms: jlibtorrent
, jlibtorrent-windows
, jlibtorrent-linux
, jlibtorrent-macosx
and jlibtorrent-android-<arch>
. These are all different artifacts.
For examples look at https://github.com/frostwire/frostwire-jlibtorrent/tree/master/src/test/java/com/frostwire/jlibtorrent/demo
Architectures supported:
To build the macos (x86_64) binaries you will need a mac computer, to build the mac library issue the following command:
cd swig && ./build-macos.sh
To build the windows (x86_64), linux (x86_64) and android binaries (arm, arm64, x86, x86_64) you will need a working version of Docker, then just issue the following command
cd swig && ./docker_build_binaries.sh
The resulting jars will be at:
- ./build/libs/jlibtorrent-w.x.y.z.jar
- ./build/libs/jlibtorrent-windows-w.x.y.z.jar
- ./build/libs/jlibtorrent-macos-w.x.y.z.jar
- ./build/libs/jlibtorrent-linux-w.x.y.z.jar
- ./build/libs/jlibtorrent-android-arm-w.x.y.z.jar
- ./build/libs/jlibtorrent-android-arm64-w.x.y.z.jar
- ./build/libs/jlibtorrent-android-x86-w.x.y.z.jar
- ./build/libs/jlibtorrent-android-x86_64-w.x.y.z.jar
If you need the singled out .so
,.dylib
and .dll
files and their .debug
versions they will be at:
- ./swig/bin/release/windows/x86_64/jlibtorrent.dll
- ./swig/bin/release/macosx/x86_64/libjlibtorrent.dylib
- ./swig/bin/release/linux/x86_64/libjlibtorrent.so
- ./swig/bin/release/android/armeabi-v7a/libjlibtorrent.so
- ./swig/bin/release/android/arm64-v8a/libjlibtorrent.so
- ./swig/bin/release/android/x86/libjlibtorrent.so
- ./swig/bin/release/android/x86_64/libjlibtorrent.so
This software is offered under the MIT License, available here.