Skip to content

Commit ce0f468

Browse files
authored
Merge pull request #99 from synonymdev/ovi/fix-android-native-symbols
fix: publish android debug symbols
2 parents 5bf94f6 + 339b5f8 commit ce0f468

13 files changed

Lines changed: 306 additions & 41 deletions

File tree

.cargo/config.toml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
[target.armv7-linux-androideabi]
2+
rustflags = [
3+
"-C", "link-arg=-Wl,--allow-multiple-definition",
4+
"-C", "link-arg=-Wl,-z,max-page-size=16384,-z,common-page-size=16384",
5+
]
6+
7+
[target.aarch64-linux-android]
8+
rustflags = [
9+
"-C", "link-arg=-Wl,--allow-multiple-definition",
10+
"-C", "link-arg=-Wl,-z,max-page-size=16384,-z,common-page-size=16384",
11+
]
12+
13+
[target.i686-linux-android]
14+
rustflags = [
15+
"-C", "link-arg=-Wl,--allow-multiple-definition",
16+
"-C", "link-arg=-Wl,-z,max-page-size=16384,-z,common-page-size=16384",
17+
]
18+
19+
[target.x86_64-linux-android]
20+
rustflags = [
21+
"-C", "link-arg=-Wl,--allow-multiple-definition",
22+
"-C", "link-arg=-Wl,-z,max-page-size=16384,-z,common-page-size=16384",
23+
]
24+
25+
[env]
26+
OPENSSL_STATIC = "1"
27+
OPENSSL_NO_VENDOR = "0"

.github/workflows/gradle-publish.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,22 @@ jobs:
3434
- name: Setup Gradle
3535
uses: gradle/actions/setup-gradle@v4
3636

37+
- name: Install native build dependencies
38+
run: sudo apt-get update && sudo apt-get install -y libdbus-1-dev pkg-config protobuf-compiler
39+
40+
- name: Set up Android SDK
41+
uses: android-actions/setup-android@v3
42+
43+
- name: Set up Android NDK
44+
id: setup-ndk
45+
uses: nttld/setup-ndk@v1
46+
with:
47+
ndk-version: r28c
48+
add-to-path: true
49+
50+
- name: Export Android NDK root
51+
run: echo "ANDROID_NDK_ROOT=${{ steps.setup-ndk.outputs.ndk-path }}" >> "$GITHUB_ENV"
52+
3753
- name: Extract version from input or tag
3854
id: version
3955
shell: bash
@@ -44,6 +60,9 @@ jobs:
4460
fi
4561
echo "version=${VERSION#v}" >> $GITHUB_OUTPUT
4662
63+
- name: Generate Android bindings
64+
run: ./build_android.sh
65+
4766
- name: Build with Gradle
4867
working-directory: bindings/android
4968
run: ./gradlew build -Pversion=${{ steps.version.outputs.version }}

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "bitkitcore"
3-
version = "0.1.68"
3+
version = "0.1.70"
44
edition = "2021"
55

66
[lib]
@@ -67,17 +67,6 @@ tempfile = "3.2"
6767
serial_test = "3.2.0"
6868
rust_decimal = "1.30"
6969

70-
[target.armv7-linux-androideabi]
71-
rustflags = [
72-
"-C", "link-arg=-Wl,--allow-multiple-definition",
73-
]
74-
75-
[target.aarch64-linux-android]
76-
rustflags = [
77-
"-C", "link-arg=-Wl,--allow-multiple-definition",
78-
]
79-
80-
8170
[[bin]]
8271
name = "example"
8372
path = "example/main.rs"

Package.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
import PackageDescription
55

6-
let tag = "v0.1.68"
7-
let checksum = "cce415718a78a491fb37714d7ffb9a667787be6f5c0379236973ead2bde41f51"
6+
let tag = "v0.1.70"
7+
let checksum = "3717f97d4c184509f8093a87f6d8a5c4085d771264d789d1102ab6321fbb3ed6"
88
let url = "https://github.com/synonymdev/bitkit-core/releases/download/\(tag)/BitkitCore.xcframework.zip"
99

1010
let package = Package(

bindings/android/README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@ Create a GitHub Release with a new tag like `v0.1.0`. The workflow `gradle-publi
8585
### Terminal
8686

8787
```sh
88-
cd bindings/android
88+
./build_android.sh
89+
cd ./bindings/android
8990
./gradlew publish -Pversion=0.1.0
9091
```
92+
93+
Run `./build_android.sh` before any direct Gradle publish so `jniLibs` is regenerated with native debug metadata and 16 KB page-size alignment.

bindings/android/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ android.useAndroidX=true
33
android.enableJetifier=true
44
kotlin.code.style=official
55
group=com.synonym
6-
version=0.1.68
6+
version=0.1.70

0 commit comments

Comments
 (0)