面向盲人开发者的 Android Studio

Fab*_*EAU 8 windows accessibility nvda android-studio

我是一名盲人 Java 开发人员。我正在接受全栈 JavaScript 培训,在 React for web 之后我们正在学习 React Native。

我想使用 Android Studio 模拟器测试代码,而不是安装在设备上。目前我无法测试我的代码,学习起来非常令人不安。

有没有解决方案可以让我在 Android Studio 模拟器窗口中使用屏幕阅读器(Windows 上的 NVDA 和 Linux 上的 orca)?因为实际上我的屏幕阅读器将模拟器窗口识别为图片,所以它无法聚焦小部件。

我想使用模拟器并使用 Android Studio 中集成的 Android 屏幕阅读器对话来测试我的代码。

我已按照此页面上的说明进行操作: https: //developer.android.com/studio/intro/accessibility

我使用 Expo 在终端上启动我的项目。我启动 Android studio 并启动 Android 模拟器。

我使用的是 NVDA,它是 32 位软件。所以我设置了 Java 8 32 位,因为它是我找到的唯一 32 位版本。我在 JRE 8 目录中使用命令行启用了 Java 访问桥,但我还安装了 Open JDK 11 64 位,这可能是一个问题。

主要问题是我无法关注 Android 模拟器窗口。

小智 1

据我所知,你不能。如果我没记错的话,Android 模拟器不是一个成熟的虚拟机,例如 VirtualBox 或 Qemu,因此您不能像使用完整 Android 操作系统的设备一样使用它。

简而言之,Android 模拟器会捕获所有系统 API 调用,并使您的应用程序认为它正在真实的 Android 设备中运行。因此,因为 TalkBack 或辅助功能服务是独立的应用程序,模拟器无法与辅助功能服务一起运行您的应用程序。

很抱歉,但最简单的方法可能是拿一部 Android 手机(例如从 E-Bay 购买的二手手机),直接连接到 Android studio 并测试您的应用程序。选择测试设备时,请考虑以下事实:大多数情况下,智能手机供应商会在其设备附带的 Android 版本上进行自定义,因此请确保 TalkBack 能够正常工作。

关于Java、NVDA和AccessBridge:如果您使用的是最新版本,NVDA和Android Studio,您不必担心AccessBridge和32位的东西。我非常确定,在最近的 NVDA 版本中,该程序以 64 位模式运行,并且 Android Studio 附带了带有 AccessBridge 的 64 位 VM,我正在使用此配置。如果您可以尝试使用 jabswitch --enable 命令激活它。

在 Linux 上,事情相当困难,您必须使用具有最新所有辅助功能软件的发行版,包括 Java ATK 包装器,但要考虑到 Android Studio 目前尚未正式支持 Linux 辅助功能框架,因此您必须工作使用 Eclipse 或使用 VS Code 等简单编辑器。