14

有人可以给我一个关于如何在 maven 项目中使用 google play 服务的分步教程?我添加了两个依赖项

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

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

apklib 和 jar 出现在 maven 存储库中,但未生成 com.google.android.gms.R 类。

我收到 NoClassDefFoundError。如何将 com.google.android.gms 放在 gen 文件夹中?

4

3 回答 3

11

您可以将Android Maven SDK Deployer用于 Google Play 服务以外的其他用途

带有 android-maven-plugin <3.8.1 的“.apklib”

顺便说一句,您应该使用版本 13.0.0 而不是 4

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

<dependency>
  <groupId>com.google.android.gms</groupId>
  <artifactId>google-play-services</artifactId>
  <version>13.0.0</version>
</dependency>

带有 android-maven-plugin 3.8.2+ 的“.aar”

使用 android-maven-plugin 3.8.2 您还可以使用播放服务 aar

<dependency>
  <groupId>com.google.android.gms</groupId>
  <artifactId>play-services</artifactId>
  <version>4.0.30</version>
  <type>aar</type>
</dependency>
于 2013-07-08T21:28:39.620 回答
6

将 google-play-services_lib 项目导入 Eclipse 工作区并使其成为库后,您需要设置 maven 构建过程。

制作“google-play-services_lib”文件夹的 zip 文件并将其命名为“google-play-services_lib.apklib”

  + google-play-services_lib.apklib
     + src
     + res
     + AndroidManifest.xml
     + project.properties

打开命令提示符并转到 zip 文件所在的文件夹,然后键入以下命令。这会将 apklib 安装到您的本地 maven 存储库中。

mvn install:install-file -Dfile=google-play-services_lib.apklib -DgroupId=com.google.android.gms -DartifactId=google-play-services -Dversion=14.0.0 -Dpackaging=apklib

现在您需要将 google-play-services jar 安装到本地存储库中。

mvn install:install-file -Dfile=google-play-services.jar -DgroupId=com.google.android.gms -DartifactId=google-play-services -Dversion=14.0.0 -Dpackaging=jar

回到 Eclipse 并打开你的 android pom 文件并输入以下依赖项

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

<dependency>
  <groupId>com.google.android.gms</groupId>
  <artifactId>google-play-services</artifactId>
  <version>14.0.0</version>
</dependency>

现在您可以运行您的 maven 包命令以使用 google play jar 更新输出,并将 apklib 合并到您的 apk 文件中。

mvn 包 -Pandroid -Psign

于 2014-02-13T19:23:24.790 回答
3

查看 Jake Wharton 提供的链接。它需要2个步骤。首先,您将工件部署到本地 maven 存储库,然后从 app/pom.xml 中引用它

https://github.com/JakeWharton/gms-mvn-install

高温高压

于 2013-07-08T21:08:40.537 回答