是否使用我的应用编译了Google Play Services Lib?

时间:2015-01-21 19:50:05

标签: android google-play-services

我对Google Play服务如何被设备编译/使用感到有些困惑。 我读过Google Play服务通过Play商店在设备上更新。 我还读到,由于Google Play Services lib被编译到他们的应用程序中,人们的应用程序规模不断增加。 这两点似乎与我发生冲突,所以也许我误解了一些事情。 所以: 1:谷歌播放服务功能是否从应用程序外部运行? 2:Google Play服务是否真正编译成应用程序? 3:如果以上两者都是真的,使用哪个版本? 4:如果我有一个使用GPS的lib jar而主应用程序也使用GPS,那么GPS会被包括两次吗?

感谢您提供更清晰的信息。

2 个答案:

答案 0 :(得分:1)

  

1:谷歌播放服务功能是否从应用程序外部运行?

通话来自您的应用,并以您的应用名称运行(权限允许)。但是Google Play服务包接收了该通话,并且执行的代码也包含在Play中服务。

  

2:Google Play服务是否真正编入应用程序?

,Google Play服务会在您的设备上单独安装。 播放服务界面会编译到您的应用中。

  

3:如果以上两个都是真的,那么使用哪个版本?

始终使用“Google Play服务”应用中的代码。并且它主要向后兼容(因此较旧的界面可以安全地使用较新的Play服务)。

  

4:如果我有一个使用GPS的lib jar而主应用程序也使用GPS,那么GPS会被包括两次吗?

如果这些.jar的大小不同(意味着它们是不同的版本),编译器应警告您并中止。如果两者相同,则项目编译并且仅包含一次GPS接口。这没关系,因为你不能有多个具有相同全名的类。

答案 1 :(得分:0)

Google Play服务是一个系统应用程序,安装在Play商店的每部手机上。它处理与Google服务器的通信,并协调所有需要访问其所包含服务的应用程序的请求,处理缓存等。

您在应用程序中包含的内容是Google Play服务库,它可以处理连接到Google Play服务应用的应用,通过Google Play服务应用转发您应用中的请求(最终在Google上转发,以满足请求) )。

因此流程如下:

your app -> Google Play Services library -> Google Play Services app -> Google

与任何图书馆一样,最终的APK中只存在一个版本。