我正在查看 此文档 以了解如何使用
androidx.test.services
包,我想知道是否有人碰巧知道以下几行中 --force-queryable
标志的含义
FORCE_QUERYABLE_OPTION=""
if [[ $DEVICE_API_LEVEL -ge 30 ]]; then
FORCE_QUERYABLE_OPTION="--force-queryable"
fi
...
# Install the test orchestrator.
adb install $FORCE_QUERYABLE_OPTION -r path/to/m2repository/androidx/test/orchestrator/1.4.2/orchestrator-1.4.2.apk
# Install test services.
adb install $FORCE_QUERYABLE_OPTION -r path/to/m2repository/androidx/test/services/test-services/1.4.2/test-services-1.4.2.apk
任何信息将不胜感激。谢谢!
我查看了命令行和在线文档,但找不到太多信息。
--force-queryable
与Android 12(API级别30)及更高版本中引入的更改相关。
从 Android 12 开始,Google 为已安装的软件包引入了一项名为
queryable
的安全功能。此功能限制其他应用程序查询有关已安装软件包的某些信息的能力。然而,在测试场景中,测试框架或服务可能需要查询已安装包的信息。
--force-queryable
是在安装测试编排器和测试服务期间覆盖此限制的一种方法。通过包含此标志,您实际上是在告诉系统允许出于测试目的对已安装的软件包进行查询。