阿里巴巴安卓应用在尝试打开URL时导致崩溃。

11
当你尝试打开链接,例如来自Whatsapp的链接时,应用程序(在这种情况下为Whatsapp)会崩溃。仅在您的设备上安装阿里巴巴应用程序时才会发生这种情况。重现路径:
  1. 安装阿里巴巴应用程序 (https://play.google.com/store/apps/details?id=com.alibaba.intl.android.apps.poseidon&hl=en)
  2. 尝试打开URL链接
  3. 应用程序崩溃(或找不到任何其他活动来打开链接,甚至不是Chrome浏览器。)

    我们在应用中看到的崩溃是:

    Fatal Exception: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW dat=http://www.nu.nl cmp=com.alibaba.intl.android.apps.poseidon/com.alibaba.android.intl.weex.activity.WeexPageActivity VirtualScreenParam=Params{mDisplayId=-1, null, mFlags=0x00000000)} } from ProcessRecord{7307f55 18243:.../u0a226} (pid=18243, uid=10226) not exported from uid 10207


阿里巴巴清单: https://github.com/alibaba/weex/blob/4abcd6cf0070c6301ed64d6bbcdef727365f347e/android/playground/app/src/main/AndroidManifest.xml#L49 - bsobat
我很确定他们的Aliexpress应用程序也会出现同样的问题。一旦我清除了它的默认设置,我的应用内浏览器请求就又开始工作了。 - crichavin
我真的不明白为什么这会导致我们的应用程序崩溃,我需要修复它。哈哈,天哪。 - filthy_wizard
1个回答

8

根据我的推测,这是与阿里巴巴应用程序相关的漏洞。首先,它涉及到深度链接功能,允许应用程序打开本地的URI。例如:Quora应用程序或Reddit应用程序。这将在Quora内部打开,而不是在Chrome中打开,以增强体验。

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.BROWSABLE"/>
  <category android:name="android.intent.category.DEFAULT" />
  <data
     android:host="reddit.com"
     android:pathPrefix="/r"
     android:scheme="https" />
</intent-filter>

像这样的问题。我怀疑阿里巴巴应用程序已将所有主机路由到其应用程序。他们大量使用通配符,使他们的应用程序可以从任何网址打开。此外,崩溃是由于权限被拒绝造成的。当您尝试从应用程序外部的上下文打开非导出活动时会发生这种情况。
PS:简而言之,这完全是阿里巴巴B2B应用程序的问题。只有他们能够解决。请尝试清除默认设置并将所有URL路由回Chrome,因为Android会要求您选择任何URI的默认应用程序。

1
这可能有所帮助,但你不能要求用户在他们的应用程序中这样做吧?!如果尝试打开链接,所有其他应用程序都会崩溃。在我看来,Android必须解决这个问题。 - bsobat
1
请查看此问题 https://github.com/alibaba/weex/issues/2139。他们会很快修复它。 - Ashik Vetrivelu
2
然而,我相信Android应该为这个问题提供一个好的解决方案。你不能让应用程序崩溃,只因为一个应用程序无法处理意图(因为它没有被导出)。 - bsobat
1
这太荒谬了。 - filthy_wizard
我也遇到了同样的问题,这些人的应用程序导致我的应用程序崩溃了几次。应该有一种方法可以标记它,以便谷歌将他们的应用程序从商店中删除。 - Roberto
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接