Android 14调试模式下Camera2 API的SIGBUS问题求助
Android 14调试模式下Camera2 API的SIGBUS问题求助
我在Android 14的调试模式下遇到了Camera2 API的SIGBUS问题,想问问有没有人遇到过相同问题或者了解解决方法?
我已经做了以下排查:
- 问题仅出现在运行搭载Camera2与Native代码的应用的调试模式下(或调试类型切换为Java + Native时)
- 问题发生在搭载Android 14的Pixel 7a和Pixel Tablet的调试模式中,搭载Android 10的旧机型Galaxy S9未出现该问题
- 开发环境为Android Studio HedgeHog、Gentoo Linux,更换两台开发机器后问题仍存在
- 曾怀疑是预览View对象问题,尝试TextureView和SurfaceView后结果一致
- 该问题在Android 13中未出现
- 使用最简Camera2 API代码及示例代码测试,仍出现相同现象
调试时的跟踪信息如下:
SIGBUS (signal SIGBUS: illegal address) art::(anonymous namespace)::ScopedCheck::CheckMethodAndSig(art::ScopedObjectAccess&, _jobject*, _jclass*, _jmethodID*, art::Primitive::Type, art::InvokeType) (.__uniq.99033978352804627313491551960229047428) 0x0000006d523dd3e0 art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, std::__va_list, art::Primitive::Type, art::InvokeType) (.__uniq.99033978352804627313491551960229047428) 0x0000006d523dc0a8 art::(anonymous namespace)::CheckJNI::CallBooleanMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list) (.__uniq.99033978352804627313491551960229047428.llvm.9379289081322328196) 0x0000006d5254d5f4 _JNIEnv::CallBooleanMethod(_jobject*, _jmethodID*, ...) 0x0000006fea369adc JavaBBinder::onTransact(unsigned int, const android::Parcel &, android::Parcel *, unsigned int) 0x0000006fea420d48 android::BBinder::transact(unsigned int, const android::Parcel &, android::Parcel *, unsigned int) 0x000000700690108c android::IPCThreadState::executeCommand(int) 0x00000070068ffd38 android::IPCThreadState::joinThreadPool(bool) 0x000000700691edf8 android::PoolThread::threadLoop() 0x000000700691eb8c android::Thread::_threadLoop(void *) 0x0000006fec592d74 android::AndroidRuntime::javaThreadShell(void *) 0x0000006fea3721a0 __pthread_start(void *) 0x0000006ff7b54cd0 __start_thread 0x0000006ff7ae8b04
由于需要用OpenGL处理相机输入数据,希望尽可能使用Camera2 API,恳请各位分享相关解决方案,谢谢!
内容的提问来源于stack exchange,提问作者kzkysdjpn
相关产品推荐
相关产品推荐

