关于Android OS 14中Camera2 API的SIGBUS问题

问题描述 投票:0回答:1

我在 Android OS 14 上的调试模式下遇到 Camera2API 的 SIGBUS 问题。 有没有人遇到过同样的问题或知道如何解决它? 我执行了以下操作来检查事件:

  1. 在调试模式下运行使用 Camera2 和本机代码的应用程序时会发生这种情况。 (或者将调试类型更改为(Java + Native))

https://developer.android.com/studio/debug?hl=en#debug-types

  1. 此问题会在运行 Android OS14 的 Pixel 7a 和 Pixel 平板电脑的调试模式下出现。 SIGBUS 没有出现在配备 Android OS 10 的稍旧型号 Galaxy S9 上。

  2. 开发环境为Android Studio HedgeHog Gentoo Linux。 (我有两台电脑,即使切换开发机也会出现同样的问题。)

  3. 我以为问题可能出在预览View对象上,所以我也尝试了TextureView和SurfaceView,但结果是一样的。

  4. 我认为这个问题不会出现在Android OS 13上。

  5. 我使用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。

如果有人知道的话,如果您能分享信息将会很有帮助。

谢谢你。

android-camera2 android-14 sigbus
1个回答
0
投票

我有同样的问题,我可以通过关闭运行/调试配置中的本机调试并将其设置为“仅 java”来调试我的 kotlin 代码。

我在其他 Android 设备(三星平板电脑、Android 12)上没有遇到同样的问题

这很烦人,我里面有很多 C++ 代码也需要调试。

我尝试了很多不同的NDK,没有什么区别。

© www.soinside.com 2019 - 2024. All rights reserved.