Appium 求助:有哪位大神知道这个怎么解决吗? appium 启动 app 就启动不起来,报 Error: Cannot start the 'com.cloudmagic.magiclive' application...

Jack · 2019年09月11日 · 最后由 Jack 回复于 2019年09月14日 · 3701 次阅读

具体 python 代码:

from appium import webdriver

desired_caps = {}
desired_caps['platformName'] = 'Android'

desired_caps['platformVersion'] = '9'

desired_caps['deviceName'] = 'PCT-AL10'

desired_caps['appPackage'] = 'com.cloudmagic.magiclive'

desired_caps['appActivity'] = 'com.yizhibo.video.activity.HomeTabActivity'

desired_caps['unicodeKeyboard'] = True

desired_caps['resetKeyboard'] = True

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

error 报错信息:

Encountered internal error running command: Error: Cannot start the 'com.cloudmagic.magiclive' application. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting. Original error: Error executing adbExec. Original error: 'Command 'E:\android-sdk-windows\android-sdk-windows\platform-tools\adb.exe -P 5037 -s 5ENDU19426003672 shell am start -W -n com.cloudmagic.magiclive/com.yizhibo.video.activity.HomeTabActivity -S' exited with code 4294967295'; Stderr: 'Security exception: Permission Denial: starting Intent { flg=0x10000000 cmp=com.cloudmagic.magiclive/com.yizhibo.video.activity.HomeTabActivity } from null (pid=14671, uid=2000) not exported from uid 10249

最佳回复
1.  aapt dump badging yourapkname.apk | grep launchable-activity  拿到加载的activity
2.  adb shell am start -n [PACKAGE-NAME]/[ACTIVITY-NAME]   启动app

看看能否手动启动,排除启动 activity 指定的不对。

我注意到你的配置是这样的,你的包名和 activity 前缀的包名是不一致的
desired_caps['appPackage'] = 'com.cloudmagic.magiclive'
desired_caps['appActivity'] = 'com.yizhibo.video.activity.HomeTabActivity'

共收到 6 条回复 时间 点赞

启动的 appActivity 可能是错误的,用 monkey 运行一下看看启动 activity 是什么

1.  aapt dump badging yourapkname.apk | grep launchable-activity  拿到加载的activity
2.  adb shell am start -n [PACKAGE-NAME]/[ACTIVITY-NAME]   启动app

看看能否手动启动,排除启动 activity 指定的不对。

我注意到你的配置是这样的,你的包名和 activity 前缀的包名是不一致的
desired_caps['appPackage'] = 'com.cloudmagic.magiclive'
desired_caps['appActivity'] = 'com.yizhibo.video.activity.HomeTabActivity'

  1. 试试微信能不能起来,能起来转第二步
  2. adb shell am start -W com.cloudmagic.magiclive/com.yizhibo.video.activity.HomeTabActivity 在终端运行这个命令看能不能成功
  3. 如果第二步不成功,有很大原因是这个 app 有一个 export 属性没有置为 true, 需要开发改一下。
Jack #4 · 2019年09月14日 Author
YueChen 回复

感谢!!!是包名不对;没用过 monkey 找 activity,我用 adb logcat,获取日志,然后启动 APP,再在 log 上找到的 activity。

Jack #3 · 2019年09月14日 Author
MLL 回复

感谢,最后确认是包名不对,改了之后就可以了。

Jack #6 · 2019年09月14日 Author
simple 回复

感谢!!!
装了 SDK 但还是提示:'grep' 不是内部或外部命令,也不是可运行的程序或批处理文件。直接获取 logcat,来查找 activity,最后可以了,是包名不对。

Jack 关闭了讨论 09月16日 09:52
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册