Avani
December 22, 2022, 10:07am
1
I am trying to use btleplug on android app but the app is crashing when I am trying to get the first Bluetooth adapter.
let adapters = manager.adapters().await;
I have verified the documents and not sure if this is the issue with jni-utils-rs .
But the build is successful, but the scan function does not work.
Followed these steps for rust android set up.
Building and Deploying a Rust library on Android (mozilla.github.io)
Avani:
but the app is crashing
Can you define "crash"?
If it's a panic, you might be able to get a backtrace that'll tell you which line of code (both yours and in btleplug
) is encountering the error, which might help figure out the problem. Otherwise, you might be able to attach a debugger and step through yourself.
Avani
December 22, 2022, 2:12pm
3
This is what I observed.
Logs for emulator.
Logs for physical device.
> 2022-12-22 19:48:21.126 15519-15519 libc com.example.domain A Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 15519 (ware.domain), pid 15519 (ware.domain)
> 2022-12-22 19:48:22.186 15630-15630 DEBUG pid-15630 A Cmdline: com.example.domain
> 2022-12-22 19:48:22.186 15630-15630 DEBUG pid-15630 A pid: 15519, tid: 15519, name: ware.domain >>> com.example.domain <<<
> 2022-12-22 19:48:22.186 15630-15630 DEBUG pid-15630 A #01 pc 000000000006e510 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (std::sys::unix::abort_internal::h7a71b9f8e8a09020+4)
> 2022-12-22 19:48:22.186 15630-15630 DEBUG pid-15630 A #02 pc 000000000006c504 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (rust_panic+132)
> 2022-12-22 19:48:22.186 15630-15630 DEBUG pid-15630 A #03 pc 000000000006c400 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (std::panicking::rust_panic_with_hook::hb800bdf2c3d24185+668)
> 2022-12-22 19:48:22.186 15630-15630 DEBUG pid-15630 A #04 pc 000000000006c144 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (std::panicking::begin_panic_handler::_$u7b$$u7b$closure$u7d$$u7d$::h0716dcb792dd6da4+196)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #05 pc 000000000006aa78 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (std::sys_common::backtrace::__rust_end_short_backtrace::h0f111a9c3b1fbc6f+28)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #06 pc 000000000006be88 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (rust_begin_unwind+108)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #07 pc 0000000000081084 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (core::panicking::panic_fmt::h910640814c8173df+44)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #08 pc 0000000000080fa4 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (core::panicking::panic_display::hb393f36cfadfe5ff+52)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #09 pc 0000000000080f68 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (core::panicking::panic_str::h7fb39655a9dc50e8+20)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #10 pc 0000000000080d14 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (core::option::expect_failed::h1e1953bc5f2a68ba+4)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #11 pc 000000000003bbe8 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (_$LT$core..future..from_generator..GenFuture$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h2caafad367be8458+268)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #12 pc 000000000003b22c /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (_$LT$core..future..from_generator..GenFuture$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hc84c01a98a80a9e2+128)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #13 pc 00000000000385e8 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (tokio::runtime::park::CachedParkThread::block_on::h00278b116ef3c3db+164)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #14 pc 000000000003a480 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (tokio::runtime::runtime::Runtime::block_on::hbbfe37e50fa791bd+128)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #15 pc 00000000000383e0 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (rust_core::device::scan::h34896d9e8ec9ef90+120)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #16 pc 0000000000035cc8 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (rust_core::core_scan::hd10d918c324116f2+12)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #17 pc 0000000000034a50 /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/lib/arm64/librust_android.so (Java_com_example_domain_MainActivity_scan+20)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #20 pc 000000000000067a [anon:dalvik-classes3.dex extracted in memory from /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/base.apk!classes3.dex] (com.example.domain.MainActivity.onCreate$lambda-1+42)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #22 pc 0000000000000588 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/base.apk!classes3.dex] (com.example.domain.MainActivity.$r8$lambda$PuTAKDKnMHG-ooAzXpXsNIecUB0+0)
> 2022-12-22 19:48:22.187 15630-15630 DEBUG pid-15630 A #24 pc 0000000000000558 [anon:dalvik-classes3.dex extracted in memory from /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/base.apk!classes3.dex] (com.example.domain.MainActivity$$ExternalSyntheticLambda1.onClick+4)
> 2022-12-22 19:48:22.188 15630-15630 DEBUG pid-15630 A #30 pc 00000000002da2ba [anon:dalvik-classes.dex extracted in memory from /data/app/~~uAmwrVwfkFUcCsd8yc0HDg==/com.example.domain-bpEJCzo8rnqI1cO3vrKUqw==/base.apk] (com.google.android.material.button.MaterialButton.performClick+22)
> ---------------------------- PROCESS ENDED (15519) for package com.example.domain ----------------------------
Blockquote
Please format the stacktrace as code, it is unreadable like this
Also, can you reproduce the crash without the JNI and maybe even on other operating systems?
Avani
December 22, 2022, 5:39pm
6
The device.rs code works fine on windows. Creating this issue when I am trying to use it for android app.
Avani
December 26, 2022, 5:38pm
7
Finally able to add logs. The issue is while getting the adapter. Checked all the related documents and not able to figure out the issue with adapter.
Avani
December 30, 2022, 1:31pm
8
Avani
January 30, 2023, 11:29am
9
system
Closed
April 30, 2023, 11:30am
10
This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.