gpt4 book ai didi

安卓 : Launch test on device FROM device/application

转载 作者:行者123 更新时间:2023-11-28 20:55:34 29 4
gpt4 key购买 nike

我想在我的物理设备上开始用espresso编写的仪器测试。

想法如下:我的公司有一个应用程序的白标解决方案,因此我们有很多应用程序可以放入 Play 商店。为了支持我们的支持团队,我编写了一个测试,为应用程序的几个部分制作屏幕截图,这样他们就不必每次都这样做了。

问题:如果没有安装 android sdk、打开终端等,他们就无法启动“截图制作器测试”。

从我的角度来看,最好的解决方案是实现一个隐藏在应用程序中的 secret 按钮,按下它后启动测试。这可能吗?

我从我的计算机终端尝试了以下 shell 命令,它成功了:

adb shell 
am instrument -w -e class com.my.company.ScreenshotTests com.my.company.tests/com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner

但是,当我在设备上使用 Android 终端仿真器应用程序运行该命令时,它会抛出 SecurityException: Permission Denial: startInstrumentation 要求以用户 -2 身份运行,但正在从用户 0 调用;这需要 android.permission.INTERACT_ACROSS_USERS_FULL。

我是否必须对设备进行 root 操作才能实现某些功能?还是无需生根就可以以某种方式实现?

如果无法从应用程序启动测试,那么从脚本或其他东西启动它也会有所帮助。基本上,支持团队只需点击一个按钮,然后屏幕截图就会自动获取。有什么想法吗?

最佳答案

除非满足以下任一条件,否则您将无法从设备本身运行此命令:

  • 设备已 root
  • 您的应用使用与另一个具有 INTERACT_ACROSS_USERS_FULL 权限的应用相同的 key 进行签名
  • 您的应用已使用平台 key 签名

如果您想从应用程序本身截取应用程序的屏幕截图,我认为除了通过 adb 命令之外,还有其他方法可以实现。您可以通过编程方式浏览应用程序中的屏幕并截取屏幕截图。

参见:How to programmatically take a screenshot in Android?

关于安卓 : Launch test on device FROM device/application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23990842/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com