Skip to content

Commit 63619ba

Browse files
authored
[Android] Fix JNI load error on release builds (#667)
* [Android] Fix JNI load error on release builds * Add other methods
1 parent 251b46a commit 63619ba

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

platform/jvm/capture/consumer-rules.pro

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@
5252
public <methods>;
5353
}
5454

55+
-keep, includedescriptorclasses class io.bitdrift.capture.attributes.IClientAttributes {
56+
public <methods>;
57+
}
58+
5559
-keep, includedescriptorclasses class io.bitdrift.capture.IEventsListenerTarget {
5660
public <methods>;
5761
}

platform/jvm/src/report_processing.rs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ static CLIENT_ATTRS_MANUFACTURER: OnceLock<CachedMethod> = OnceLock::new();
3333
static CLIENT_ATTRS_MODEL: OnceLock<CachedMethod> = OnceLock::new();
3434
static CLIENT_ATTRS_OS_VERSION: OnceLock<CachedMethod> = OnceLock::new();
3535
static CLIENT_ATTRS_OS_BRAND: OnceLock<CachedMethod> = OnceLock::new();
36+
static CLIENT_ATTRS_OS_API_LEVEL: OnceLock<CachedMethod> = OnceLock::new();
37+
static CLIENT_ATTRS_SUPPORTED_ABIS: OnceLock<CachedMethod> = OnceLock::new();
38+
static CLIENT_ATTRS_ARCHITECTURE: OnceLock<CachedMethod> = OnceLock::new();
39+
static CLIENT_ATTRS_LOCALE: OnceLock<CachedMethod> = OnceLock::new();
3640

3741
pub(crate) fn initialize(env: &mut JNIEnv<'_>) -> anyhow::Result<()> {
3842
initialize_method_handle(
@@ -99,6 +103,38 @@ pub(crate) fn initialize(env: &mut JNIEnv<'_>) -> anyhow::Result<()> {
99103
&CLIENT_ATTRS_OS_BRAND,
100104
)?;
101105

106+
initialize_method_handle(
107+
env,
108+
"io/bitdrift/capture/attributes/IClientAttributes",
109+
"getOsApiLevel",
110+
"()I",
111+
&CLIENT_ATTRS_OS_API_LEVEL,
112+
)?;
113+
114+
initialize_method_handle(
115+
env,
116+
"io/bitdrift/capture/attributes/IClientAttributes",
117+
"getSupportedAbis",
118+
"()Ljava/util/List;",
119+
&CLIENT_ATTRS_SUPPORTED_ABIS,
120+
)?;
121+
122+
initialize_method_handle(
123+
env,
124+
"io/bitdrift/capture/attributes/IClientAttributes",
125+
"getArchitecture",
126+
"()Ljava/lang/String;",
127+
&CLIENT_ATTRS_ARCHITECTURE,
128+
)?;
129+
130+
initialize_method_handle(
131+
env,
132+
"io/bitdrift/capture/attributes/IClientAttributes",
133+
"getLocale",
134+
"()Ljava/lang/String;",
135+
&CLIENT_ATTRS_LOCALE,
136+
)?;
137+
102138
Ok(())
103139
}
104140

0 commit comments

Comments
 (0)