Appium 在 4.4.2 真机上运行时,提示 Error: Permission to start activity denied

Vincent · 2015年01月27日 · 最后由 肖勇 回复于 2018年09月10日 · 2461 次阅读

OS:Android 4.4.2
Appium : 1.3.4

在真机上运行时,提示 error: Failed to start an Appium session, err was: Error: Permission to start activity denied。而在模拟器上运行通过。求指教!

error: Failed to start an Appium session, err was: Error: Permission to start activity den
ied.
info: [debug] Error: Permission to start activity denied.
    at null.<anonymous> (d:\user\Application Data\npm\node_modules\appium\node_modu
les\appium-adb\lib\adb.js:1135:19)
    at null.<anonymous> (d:\user\Application Data\npm\node_modules\appium\node_modu
les\appium-adb\lib\adb.js:172:9)
    at ChildProcess.exithandler (child_process.js:646:7)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:756:16)
    at Process.ChildProcess._handle.onexit (child_process.js:823:5)
info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new sess
ion could not be created. (Original error: Permission to start activity denied.)","origVal
ue":"Permission to start activity denied."},"sessionId":null}`

日志请用代码块。

共收到 15 条回复 时间 点赞

你要直接启动的 activity 禁止从外部调用. 所以你要最好启动主 activity, 再点进去.
不然就得修改代码

#1 楼 @seveniruby

好像是你说的这样,QQ 可以调起来!只是在模拟器里面是可以调起来的,这是为什么?模拟器和真机有这么大区别?

硬要说区别的话,模拟器默认是 root 的...而且是开发模式的..

已解决!

#4 楼 @mildshark 怎么解决的?

有可能是调用的是 adb am start 的命令,而模拟器是 root 的,所以就直接可以启动 activity,物理机肯呢过没 root,导致开启 activity 的时候没权限

@mildshark 同问怎么解决的

#5 楼 @lihuazhang
#7 楼 @longmfe

抱歉,这段时间没来 home,工作上有点忙!

解决方法是在 AndroidManifest.xml 文件中将 Activity 设置成允许调用:Android:exported=” true”

#8 楼 @mildshark root 过的手机可以么

#9 楼 @mads

与是否 root 无关!

#10 楼 @mildshark 嗯那就是还是得有这个权限咯

原来如此

我没有源码,直接在手机装的 APP,也出现了这个问题,怎样解决呢?谢谢。

#10 楼 @mildshark 如果在开发包不写这个,另外解决方法有么

Vincent 回复

这个语句加在 AndroidManifest.xml 这个文件的那个地方啊?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册