Appium启动Bumble应用失败:权限拒绝问题求助
解决Bumble Appium启动时的SecurityException问题
问题根源
你指定的com.bumble.app.ui.screenstories.ScreenStoryBlockersActivity是Bumble内部的未导出Activity,Android系统出于安全限制,禁止外部程序(比如Appium)直接启动未导出的组件,所以抛出了权限拒绝的异常。你通过mCurrentFocus获取的是当前页面的Activity,而非应用的主启动入口,这就是问题所在。
解决步骤
获取Bumble的可启动主Activity
用adb命令直接查询应用的官方启动入口(这个Activity一定是导出的):adb shell dumpsys package com.bumble.app | grep -E "launchable-activity"如果你的环境没有
grep,可以直接执行adb shell dumpsys package com.bumble.app,然后在输出里找包含launchable-activity的行,比如类似这样的结果:launchable-activity: name='com.bumble.app.ui.launch.LaunchActivity'
修改DesiredCapabilities配置
- 将
appActivity替换为上面命令获取到的正确主Activity路径 - 修正capability名称:把
androidVersion改成platformVersion(这是Appium的标准参数名) - 打开
autoGrantPermissions和noReset,避免启动时的权限弹窗和重置应用状态干扰
- 将
修改后的代码示例:
DesiredCapabilities dc = new DesiredCapabilities(); dc.setCapability("deviceName", "pixel_6_pro"); dc.setCapability("udid", "emulator-5554"); dc.setCapability("platformName", "Android"); dc.setCapability("platformVersion", "14"); // 修正参数名 dc.setCapability("appPackage", "com.bumble.app"); dc.setCapability("appActivity", "com.bumble.app.ui.launch.LaunchActivity"); // 替换为你获取到的主Activity dc.setCapability("autoGrantPermissions", true); dc.setCapability("noReset", true); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), dc);
- 验证启动
重新运行脚本,Appium应该能正常启动Bumble的主页面,不会再抛出权限拒绝的异常。
内容的提问来源于stack exchange,提问作者duta chaligava
相关产品推荐
相关产品推荐

