我需要启动一个具有不同工作档案的应用程序(Android For Work)。如果在个人资料中安装应用程序,那么我可以从同一设备上的个人资料中启动应用程序。
但是,当我仅在工作资料中安装应用时,我无法通过adb命令启动应用。
根据我的理解,谷歌为个人和工作档案保留了两个不同的容器。我认为工作资料具有不同的空间,而adb无法访问该应用和工作资料工作区。
我需要通过appium启动应用
如果有人对上述问题有答案,请回答。在此先感谢!
答案 0 :(得分:3)
您的意思是在不同的用户帐户上启动应用程序吗?请查看此链接:https://stackoverflow.com/a/24093533/5093606 您可以尝试使用
获取帐户列表adb shell pm list users
如果您在那里工作,请尝试
adb shell am start --user WORKING_ACCOUNT com.example.MainActivity
答案 1 :(得分:0)
是的,有办法使用Appium / Adb命令启动应用程序。而不是appium使用adb命令来启动应用程序。
您用于AndroidForWork注册的应用,应该是android:debuggable模式。将debuggable模式设置为true并构建apk。
一旦设备注册/配置Android工作,然后获取用户列表。
adb shell pm list用户UserInfo {0:Drew:13}运行UserInfo {10:工作资料:30}正在运行
获取workprofile用户ID。在这种情况下,10是id。使用用户ID启动应用。
adb shell am start --user 10 -n" com.android.vending / com.google.android.finsky.activities.MainActivity"
注意:如果在调试模式下未启用配置应用,则您无法访问工作配置文件用户。
答案 2 :(得分:0)
结果证明,我可以通过将另一个参数添加到检查器来使用Appium Desktop完成此操作:
optionalIntentArguments文本-用户12
其中“ 12”是您通过输入以下内容会看到的工作资料ID:
adb -d shell pm list users
Users:
UserInfo{0:Ken Corey:13} running
UserInfo{12:Workspace:50100030} running