android自动化错误显示:“安全异常:权限拒绝:启动意图”

cygmwpex  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(424)

使用appium/selenium自动化脚本测试了多个android本机应用程序,但没有一个应用程序被打开并收到以下错误消息
stderr:'security exception:permission denial:start intent from null(pid=20930,uid=2000)not exported from uid 10178'
所需的功能设置正确,但没有打开任何应用程序。

DesiredCapabilities caps = new DesiredCapabilities();
        caps.setCapability("deviceName", "Mobile");
        caps.setCapability("udid", "520042c3b5e5"); 
        caps.setCapability("platformName", "Android");
        caps.setCapability("platformVersion", "8.0.0"); 
        caps.setCapability("appPackage", "in.amazon.mShop.android.shopping");
        caps.setCapability("appActivity", "com.amazon.mShop.home.web.MShopWebGatewayActivity");
        caps.setCapability("noReset", "true");          

        //Instantiate Appium Driver
        try 
        {
            AppiumDriver<MobileElement> driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), caps);
        } 
        catch (MalformedURLException e) 
        {
            System.out.println(e.getMessage());
        }

应打开amazon移动应用程序,但显示安全异常:权限拒绝错误消息。
通过更改应用程序包和活动尝试了其他本机应用程序,但对所有尝试的应用程序仍然得到相同的错误。
很少有在线解决方案说要编辑一个出口领域 AndroidManifest.xml . 在哪里可以找到这个文件?
appium版本-1.10.0 java-jdk 1.8

oyt4ldly

oyt4ldly1#

当您尝试启动不是主活动的appactivity时,会出现这种错误。
你必须把主要的活动放在你想要的能力上。
当开发人员在应用程序中添加启动屏幕并更改主应用程序活动时,我也遇到了类似的问题。

czq61nw1

czq61nw12#

从官方文档中可以看出,如果出现以下情况,导出属性将执行以下操作:
android:exported = true->广播接收器能够从应用程序外部的源接收消息
android:exported = false->广播接收器只能从应用程序本身接收消息
您可以添加 exported 属性内部 <activity> androidmanifest.xml文件中的元素标记如下:

<activity android:name=".MainActivity"
        android:exported="true"> 
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
 </activity>

相关问题