Skip to content

Commit

Permalink
Use UPX to compress Rust library
Browse files Browse the repository at this point in the history
  • Loading branch information
soupslurpr committed Nov 30, 2023
1 parent 15173aa commit 171dbfa
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 2 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@ local.properties
app/src/main/jniLibs/arm64-v8a/libbeautyxt_rs.so
app/src/main/jniLibs/x86_64/libbeautyxt_rs.so
/app/release/bundletool-all-1.15.5.jar
app/src/main/jniLibs/arm64-v8a/libbeautyxt_rs_compressed.so
beautyxt_rs/upx.exe
4 changes: 4 additions & 0 deletions beautyxt_rs/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,7 @@ mod plain_text;
mod typst;

uniffi::setup_scaffolding!();

// Required for UPX to work
#[no_mangle]
pub fn _init() { }
6 changes: 4 additions & 2 deletions beautyxt_rs/useful-commands.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ Build, copy compiled files to correct places, and generate bindings to "..\app\s
cargo build --lib --release
cargo build --lib --release --target aarch64-linux-android
cargo build --lib --release --target x86_64-linux-android
copy .\target\aarch64-linux-android\release\libbeautyxt_rs.so ..\app\src\main\jniLibs\arm64-v8a\libbeautyxt_rs.so
copy .\target\x86_64-linux-android\release\libbeautyxt_rs.so ..\app\src\main\jniLibs\x86_64\libbeautyxt_rs.so
./upx.exe --android-shlib .\target\aarch64-linux-android\release\libbeautyxt_rs.so -o .\target\aarch64-linux-android\release\libbeautyxt_rs_compressed.so --ultra-brute --best
./upx.exe --android-shlib .\target\x86_64-linux-android\release\libbeautyxt_rs.so -o .\target\x86_64-linux-android\release\libbeautyxt_rs_compressed.so --ultra-brute --best
copy .\target\aarch64-linux-android\release\libbeautyxt_rs_compressed.so ..\app\src\main\jniLibs\arm64-v8a\libbeautyxt_rs.so
copy .\target\x86_64-linux-android\release\libbeautyxt_rs_compressed.so ..\app\src\main\jniLibs\x86_64\libbeautyxt_rs.so
cargo run --features uniffi/cli --bin uniffi-bindgen generate --library target/release/beautyxt_rs.dll --language kotlin --out-dir "..\app\src\main\kotlin"

Update rust library licensing info:
Expand Down

0 comments on commit 171dbfa

Please sign in to comment.