我在 Android OS 14 上的调试模式下遇到 Camera2API 的 SIGBUS 问题。 有没有人遇到过同样的问题或知道如何解决它? 我执行了以下操作来检查事件:
https://developer.android.com/studio/debug?hl=en#debug-types
此问题会在运行 Android OS14 的 Pixel 7a 和 Pixel 平板电脑的调试模式下出现。 SIGBUS 没有出现在配备 Android OS 10 的稍旧型号 Galaxy S9 上。
开发环境为Android Studio HedgeHog Gentoo Linux。 (我有两台电脑,即使切换开发机也会出现同样的问题。)
我以为问题可能出在预览View对象上,所以我也尝试了TextureView和SurfaceView,但结果是一样的。
我认为这个问题不会出现在Android OS 13上。
我使用Camera2 API使用最简单的代码对其进行了测试,结果是相同的。 (示例代码中也出现了类似的现象。)
下面是调试时显示的轨迹。
SIGBUS(信号SIGBUS:非法地址)
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。
如果有人知道的话,如果您能分享信息将会很有帮助。
谢谢你。
我有同样的问题,我可以通过关闭运行/调试配置中的本机调试并将其设置为“仅 java”来调试我的 kotlin 代码。
我在其他 Android 设备(三星平板电脑、Android 12)上没有遇到同样的问题
这很烦人,我里面有很多 C++ 代码也需要调试。
我尝试了很多不同的NDK,没有什么区别。