安全例外:尝试通过appium检查员打开Facebook应用程序时拒绝

问题描述 投票:0回答:2

我正在尝试启动facebook App的自动化。我从应用程序注销并使用dumpsys window windows | grep -E mCurrentFocus|mFocusedApp来获取应用程序活动和包。我得到的值为com.facebook.katana/com.facebook.account.login.activity.SimpleLoginActivity

我在appium检查器中提供了值来获取定位器值

{
  "deviceName": "xxxx",
  "udid": "xxxx",
  "appPackage": "com.facebook.katana",
  "platformName": "android",
  "appActivity": "com.facebook.account.login.activity.SimpleLoginActivity"
}

但是我收到了错误

exited with code 4294967295'; Stderr: 'Security exception: Permission Denial: starting Intent { flg=0x10000000 cmp=com.facebook.katana/com.facebook.account.login.activity.SimpleLoginActivity } from null (pid=20151, uid=2000) not exported from uid 10206

我跟着https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md检查了我的活动,

C:\Users\aswathy_krishnan>adb shell am start -W -n com.facebook.katana/.com.face
book.account.login.activity.SimpleLoginActivity -S -a android.intent.action.MAIN
 -c android.intent.category.LAUNCHER -f 0x10200000

但它给了我一个错误,

Error: Activity class {com.facebook.katana/com.facebook.katana.com.facebook.acco
unt.login.activity.SimpleLoginActivity} does not exist.

我究竟做错了什么?我认为这可能是因为appActivity,但我怎样才能获得主要活动?

android appium android-permissions permission-denied
2个回答
0
投票

异常非常明确:出于安全原因,活动开始被阻止。

您需要在AndroidManifest.xml文件中设置android:exported="true",其中声明了SimpleLoginActivity。我猜您无法访问Facebook App源代码来解决这个问题。

Appium是非常灵活的工具,但如果AUT有安全限制,Appium就无法做任何事情。


0
投票

首先使用以下链接交叉检查您的主要活动。

http://www.automationtestinghub.com/apppackage-and-appactivity-name/

如果你仍然得到相同的错误,那么android:exported="true"应该在AndroidManifest.xml中用于主要活动/指定的活动。

© www.soinside.com 2019 - 2024. All rights reserved.