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

Jack · September 11, 2019 · Last by Jack replied at September 14, 2019 · 845 hits

具体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, 需要开发改一下。
YueC 回复

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

孟妮妮 回复

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

simple 回复

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

Jack 关闭了讨论 16 Sep 09:52
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up