Android Market如何安装应用程序?

Android Market如何安装应用程序?,android,google-play,Android,Google Play,这更像是了解Android市场的一般知识。所以,首先,我很抱歉,我必须在这里问一下。我找了好一阵子,还是不明白。那么,我们开始吧 就我所知,packageInstaller确实在Android上安装了应用程序。它在执行安装之前确实需要用户许可 所以我的问题是“android market是使用packageInstaller还是自行安装?” 如果没有,有几件事我不清楚 我几乎可以肯定权限是从AndroidManifest.xml文件中提取的。在下载之前,Android Market如何知道应用

这更像是了解Android市场的一般知识。所以,首先,我很抱歉,我必须在这里问一下。我找了好一阵子,还是不明白。那么,我们开始吧

就我所知,packageInstaller确实在Android上安装了应用程序。它在执行安装之前确实需要用户许可

所以我的问题是“android market是使用packageInstaller还是自行安装?”

如果没有,有几件事我不清楚

  • 我几乎可以肯定权限是从AndroidManifest.xml文件中提取的。在下载之前,Android Market如何知道应用程序需要哪些权限?(我猜Android Market Web端在上传apk时有记录权限)

  • Android Market要求用户在下载apk之前同意权限。如果用户同意并下载,则在下载后立即进行安装(即不启动packageInstaller)。这怎么可能

  • 作为第三方应用程序,任何应用程序都可以与Android Market做同样的工作吗


  • 所以,我想我可以问你一些问题。 软件包安装程序不用于安装来自Android Market的应用程序-它自己安装

  • 我不太清楚,但我想第一个问题是你 正确的。Android Market知道该应用程序的许可 要求。它还可以简单地解析 应用程序
  • 这是在GTalkService的帮助下完成的。你可以读更多 关于它
  • 一般情况下,否。但如果您的应用程序已与系统签名,则为是 签名

  • 谢谢你的回答。你能详细说明一下你的第三点吗?据我所知,安装应用程序所需的组件是受signatureOrSystem权限保护的。这很公平。我偶然发现了这个链接[在google group上。似乎没有办法绕过PackageInstaller在android上安装应用程序。但是appbrain通过他们的快速web安装程序成功地完成了这项工作。它在手机上完成了这项工作,没有任何交互。@Yury是对的,这与Gtalk服务有关。我非常想知道他们是如何做到的,我希望有人能提供一些关于它的信息这:)“GTalkService实际上是在正常的Android Market安装过程中使用的。单击“安装”将触发Google服务器将install_ASSET消息推送到GTalkService管道中,而不是从市场下载APK。收到此消息后,您的手机将下载并安装APK。”我不确定,但我认为要使用AppBrain,您需要为市场安装一个应用程序。在此之后,我认为AppBrain会注册一个C2DM服务并等待来自服务器的消息。在此之后,它会像Android market一样工作,但最后只需调用package manager来安装软件包