Android Emulator Web浏览器需要macOS Catalina上的相机权限

时间:2020-05-11 17:32:22

标签: android-emulator macos-catalina

我负责测试与移动设备兼容的网站,该网站也需要访问设备的摄像头和麦克风。我需要扩展测试不同Android设备的能力,因此我下载了Android SDK并创建了虚拟设备。但是,如果我将任何虚拟设备的摄像头设置为“ Webcam0”(以使用我的计算机的摄像头)并通过内置的Web浏览器转到url,则整个模拟器立即崩溃。然后,macOS会生成以下报告:

Process:               qemu-system-x86_64 [1487]
Path:                  /Users/USER/Library/Android/*/qemu-system-x86_64
Identifier:            qemu-system-x86_64
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        studio [1288]
Responsible:           studio [1288]
User ID:               673642719

Date/Time:             2020-04-29 11:50:56.314 -0400
OS Version:            Mac OS X 10.15.4 (19E287)
Report Version:        12
Bridge OS Version:     4.4 (17P4281)
Anonymous UUID:        B56B5142-EE7D-3D95-B70C-861201C1208B


Time Awake Since Boot: 2200 seconds

System Integrity Protection: enabled

Crashed Thread:        63  Dispatch queue: com.apple.root.default-qos

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace TCC, Code 0x0

“命名空间TCC”指向隐私问题。新的Catalina使得很难使用相机(https://carlashley.com/2018/09/28/tcc-round-up/)。我已经用Google搜索了如何解决Android开发问题,并且响应如下:

如果您的应用使用设备相机,请在应用的Info.plist文件中包含NSCameraUsageDescription键。

如果您的应用使用设备麦克风,请在应用的Info.plist文件中包含NSMicrophoneUsageDescription键。

这对于实际上正在构建本机Android应用程序的人来说非常好,但是我只想启动Android模拟器并使用其默认的网络浏览器来测试网站。

  1. 为此目的使用Android Emulator是否过大?换句话说,我可以简单地转到Chrome桌面中的开发工具,然后将浏览器的大小调整为要测试的任何Android设备的目标尺寸吗?

  1. 如果这不是矫kill过正/我必须通过模拟器来完成,那我该怎么办?我的直觉是使用Info.plist中的NSCameraUsageDescription设置来构建自定义的Chromium apk,并通过以下说明将其放入仿真器:https://developers.google.com/web/t...er-browsers#chromium_content_shell_on_android,但这将需要拉下Chromium并进行自定义构建。

其他人是否有其Android模拟器网络浏览器来访问macOS Catalina上的网络摄像头?步骤是什么?

1 个答案:

答案 0 :(得分:2)

我在尝试从Android仿真器访问相机时遇到了类似的问题。我最终要做的是按照此处列出的步骤通过命令行手动运行模拟器:

https://developer.android.com/studio/run/emulator-commandline

此外,您还必须以sudo权限运行命令。