错误:HostObject::get for prop > 'NativeUnimoduleProxy' 中出现异常 - 使用 Expo 测试 React Native App 时 Android 虚拟设备 (AVD) 崩溃

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

问题

我想测试/模拟新创建的默认 React Native 应用程序。

但是,在 Visual Studio Code 中从 Expo Terminal 打开 Android 虚拟设备 (AVD) 会引发 2 个未捕获错误:

ERROR 错误:HostObject::get for prop 中出现异常 'NativeUnimoduleProxy':java.lang.SecurityException:权限 拒绝:来自 pid=7315、uid=10197 的 registerScreenCaptureObserver 需要 android.permission.DETECT_SCREEN_CAPTURE

错误不变违规:“main”尚未注册。

如何重现错误

我遵循了官方 React Native 文档的 Expo Go Quickstart 运行 npm 命令:

npx create-expo-app AwesomeProject
cd AwesomeProject

成功创建了一个新的 React Native 项目。

要测试/模拟默认的 App.js,请使用以下命令在 Visual Studio Code 终端中成功启动服务器

npx expo start

现在我启动 Android Studio 并打开虚拟设备管理器。我成功启动了新创建的 Pixel 7 设备。 AVD 打开没有问题,并按您的预期显示设备。

返回 Visual Studio Code 终端,我按 a 使用 Expo 打开 Android 虚拟设备模拟。

a

焦点自动切换到 AVD,甚至完成了“捆绑 100%”,但随后在 AVD 上显示 2 个未捕获错误:

以及 Visual Studio Code Expo Terminal

react-native expo android-virtual-device
1个回答
1
投票

创建 Android 虚拟设备 (AVD) 时使用较旧的 Android API 版本。

仅当使用运行最新 Android API 版本的 AVD 时,才会发生此错误,即:

    香草冰淇淋
  • UpsideDownCakePrivacySandbox
  • .
  • 经过广泛测试后发现,具有
API 31 至 API 34

以及 API TiramisuPrivacySandbox 的 Android 虚拟设备工作得很好。 使用这些 API 版本,不会出现错误,只需在 Visual Studio Code 终端中按

按 a

,即可自动正确地模拟 React Native 应用程序。

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