2

我有点困惑。我想为 Android 安装 Google Play Services 并发现了这个问题:我如何在 maven 项目中使用 google play services?

有一个参考https://github.com/mosabua/maven-android-sdk-deployer/它提供了一个项目来安装很多 mavenized API。所以我下载并构建了它以获得最新的 Google Play Services API 之一,但是当我添加

<dependency>
    <groupId>com.google.android.gms</groupId>
    <artifactId>play-services</artifactId>
    <version>5.0.89</version>
    <type>aar</type>
</dependency>

在我的项目中,我得到了一个“support-v4-19.1.0.jar”作为依赖项,它既不包括任何 Google Play 服务类,也不包括任何随 Google 服务 API 提供的布局文件。例如:当我查看https://developer.android.com/google/play-services/setup.html并阅读 ProGuard 部分时,必须至少有一个名为 SafeParcelable 的类,但这个包含的项目是 Maven甚至没有包含此类的公共包。我想知道这里发生了什么。

项目 play-services-5.0.89.aar 存在于 Maven 存储库中。但是我该如何使用它呢?既然是 aar 之类的,还有什么额外的任务要做吗?

[更新]
好的,这似乎只是一个 Eclipse 问题,因为com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext())可以由 Maven 编译,尽管 Eclipse 没有找到它。这意味着 Google Play 服务 API 在项目中工作。

[更新 2] 同时我发现 Eclipse 不支持 aar 。但是我使用了一个小技巧来在 Eclipse 中使用 apklib 和 aar(由 android-maven-plugin 支持)。我解压缩包(在 Maven 存储库中)并将其作为库导入 Eclipse。然后我将库引用添加到主项目的属性中。然后 Eclipse 会找到这些库的类,因此不再有错误的 Eclipse 项目(即使内容辅助也有效),您甚至可以在使用 android-maven-plugin 时通过 Maven 构建它。换句话说:您只需要将 aar 和 apklib 作为库导入 Eclipse,因为代码编写不会有错误的项目。对于构建过程,这一切都无关紧要,因为 Maven 会完成所有的构建处理。

4

0 回答 0