Android Nearby Share引发com.android.bluetooth原生崩溃咨询
关于Android蓝牙原生崩溃的疑问
我在App预发布测试时,收到报告显示出现com.android.bluetooth原生崩溃,此前从未遇到过这类问题,也不太会读崩溃日志。
我的App本身没有使用或支持蓝牙功能,根据预发布报告的截图推测,崩溃是用户尝试通过Nearby Share(依赖蓝牙/Wi-Fi)分享反馈邮件时触发的。
想请教两个问题:
- App是否需要针对这个情况做适配处理?
- 有没有办法禁用相关功能来避免崩溃?
崩溃日志
backtrace: #00 pc 0x0000000000051994 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) #01 pc 0x00000000006d27f8 /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+108) #02 pc 0x0000000000016ea8 /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+80) #03 pc 0x0000000000009de0 /system/lib64/liblog.so (__android_log_assert+292) #04 pc 0x0000000000a22f14 /apex/com.android.btservices/lib64/libbluetooth_jni.so (base::internal::Invoker<base::internal::BindState<bluetooth::hal::HciHalHidl::Start()::'lambda'()>, void ()>::RunOnce(base::internal::BindStateBase*)+32) #05 pc 0x0000000000a0ffd8 /apex/com.android.btservices/lib64/libbluetooth_jni.so (bluetooth::os::Alarm::on_fire()+108) #06 pc 0x0000000000a115b8 /apex/com.android.btservices/lib64/libbluetooth_jni.so (bluetooth::os::Reactor::Run()+584) #07 pc 0x0000000000a122b4 /apex/com.android.btservices/lib64/libbluetooth_jni.so (bluetooth::os::Thread::run(bluetooth::os::Thread::Priority)+176) #08 pc 0x0000000000a1243c /apex/com.android.btservices/lib64/libbluetooth_jni.so (void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (bluetooth::os::Thread::*)(bluetooth::os::Thread::Priority), bluetooth::os::Thread*, bluetooth::os::Thread::Priority> >(void*)+68) #09 pc 0x00000000000b63b0 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208) #10 pc 0x00000000000530b8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) Google Pixel 2 (Arm) (virtual) 1080x1920 Android 13 (SDK 33) - arm64-v8a de_DE
分析与解决方案
崩溃根源判断
从日志可以明确,崩溃发生在系统蓝牙服务的libbluetooth_jni.so库中,属于Android系统层面的原生崩溃,和你的App代码没有直接关联。触发场景是用户调用系统自带的Nearby Share功能时,系统蓝牙组件出现异常。是否需要适配处理?
不需要修改你的App代码做适配。这类崩溃通常是特定设备/系统版本的兼容性bug,比如你测试的Android 13(SDK33)的Pixel 2虚拟设备可能存在蓝牙服务的底层问题,并非你的App逻辑导致。禁用相关功能的可能性
- 由于Nearby Share是系统级功能,你的App无法直接禁用它。如果你的App调用了系统分享框架(比如
Intent.ACTION_SEND),系统会自动列出所有可用分享选项,这部分是系统控制的,App无法过滤或修改。 - 测试阶段可以避开使用Nearby Share的场景,或者更换其他设备/系统版本测试,确认是否是特定环境的问题。
- 你可以在Google Play Console的预发布报告中标记该崩溃为系统问题,不会影响App的发布审核。
内容的提问来源于stack exchange,提问作者G. Steve
相关产品推荐
相关产品推荐

