【问题标题】:Android Emulator Web Browser Needs Camera Permissions on macOS CatalinaAndroid Emulator Web 浏览器需要 macOS Catalina 上的相机权限
【发布时间】:2020-05-11 17:32:22
【问题描述】:

我负责测试一个与移动设备兼容的网站,该网站还需要访问设备摄像头和麦克风。我需要扩展测试不同 Android 设备的能力,所以我下载了 Android SDK 并创建了虚拟设备。但是,如果我将任何虚拟设备的摄像头设置为“Webcam0”(以使用我电脑的网络摄像头)并通过内置的网络浏览器访问 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 模拟器并使用其默认 Web 浏览器来测试网站。

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

  1. 如果不是矫枉过正/我必须通过模拟器完成,我会怎么做?我的预感是使用 Info.plist 中的 NSCameraUsageDescription 设置构建自定义 Chromium apk,并通过此处的说明将其放入模拟器:https://developers.google.com/web/t...er-browsers#chromium_content_shell_on_android,但这需要下拉 Chromium 并进行自定义构建。

有没有其他人让他们的 android 模拟器网络浏览器访问 macOS Catalina 上的网络摄像头?步骤是什么?

【问题讨论】:

    标签: android-emulator macos-catalina


    【解决方案1】:

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

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

    唯一的补充是您必须以sudo 权限运行命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-04
      • 2020-09-27
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 2020-02-15
      • 2018-01-31
      相关资源
      最近更新 更多