mirror of
https://github.com/AsamK/signal-cli.git
synced 2026-05-25 14:24:36 +00:00
Updated Provide native lib for libsignal (markdown)
parent
8e5df9f3ee
commit
89977947df
@ -60,26 +60,24 @@ So the required libsignal-client version is `0.15.0`.
|
|||||||
Once everything is setup, navigate to the root of the libsignal-client codebase:
|
Once everything is setup, navigate to the root of the libsignal-client codebase:
|
||||||
```sh
|
```sh
|
||||||
$ cd java
|
$ cd java
|
||||||
$ # Prevent building the android library
|
|
||||||
$ sed -i "s/include ':android'//" settings.gradle
|
|
||||||
$ ./build_jni.sh desktop
|
$ ./build_jni.sh desktop
|
||||||
```
|
```
|
||||||
Then the native lib can be found in the libsignal-client sub-directory: `target/release/libsignal_jni.so` (the file extension will be `.dylib` on MacOS and `.dll` on Windows, instead of `.so`).
|
Then the native lib can be found in the folder: `client/src/main/resources/libsignal_jni_amd64.so` (amd64 is architecture specific and the file extension will be `.dylib` on MacOS and `.dll` on Windows, instead of `.so`).
|
||||||
|
|
||||||
|
|
||||||
### Using the new libsignal-client lib file
|
### Using the new libsignal-client lib file
|
||||||
|
|
||||||
Once you have your library file, it can be bundled in the root of the `libsignal-client-*.jar` file (but only for one architecture at a time).
|
Once you have your library file, it can be bundled in the root of the `libsignal-client-*.jar` file.
|
||||||
|
|
||||||
First, the currently bundled file needs to be removed:
|
First, the currently bundled file needs to be removed:
|
||||||
|
|
||||||
zip -d signal-cli/lib/libsignal-client-*.jar libsignal_jni.so
|
zip -d signal-cli/lib/libsignal-client-*.jar libsignal_jni_amd64.so
|
||||||
|
|
||||||
For signal-cli to be able to use the newly compiled library file, it can either be bundled into the `.jar` file with
|
For signal-cli to be able to use the newly compiled library file, it can either be bundled into the `.jar` file with
|
||||||
|
|
||||||
zip signal-cli/lib/libsignal-client-*.jar libsignal_jni.so
|
zip signal-cli/lib/libsignal-client-*.jar libsignal_jni_amd64.so
|
||||||
|
|
||||||
or be placed on the Java library path (see below). Only if there is no bundled file will libsignal search the library path (`java.library.path`) for the `.dylib`/`.so`/`.dll` file.
|
or be placed on the Java library path (see below). For this the file needs to be renamed to `libsignal_jni.so`. Only if there is no bundled file will libsignal search the library path (`java.library.path`) for the `.dylib`/`.so`/`.dll` file.
|
||||||
|
|
||||||
Note: on Windows, bundling the compiled `signal_jni.dll` file does not seem to work: see [#517](https://github.com/AsamK/signal-cli/issues/517). (According a [comment](https://github.com/AsamK/signal-cli/issues/517#issuecomment-894677266) in that thread, bundling does work if the files are renamed).
|
Note: on Windows, bundling the compiled `signal_jni.dll` file does not seem to work: see [#517](https://github.com/AsamK/signal-cli/issues/517). (According a [comment](https://github.com/AsamK/signal-cli/issues/517#issuecomment-894677266) in that thread, bundling does work if the files are renamed).
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user