Android 中的 play-services-base 与 -basement 依赖项 (AAR)

play-services-base versus -basement dependencies (AAR) in Android

我找到了一个 xml 文件 GoogleDependencyFlurryPlugin.xml

<dependencies>
<dependency><groupId>com.google.android.gms</groupId><artifactId>play-services-base</artifactId><version>8.4+</version></dependency>
<dependency><groupId>com.google.android.gms</groupId><artifactId>play-services-basement</artifactId><version>8.4+</version></dependency>
</dependencies>

确实是一个 xml 文件 GoogleDependencyPlayGameServicesPlugin.xml

<dependencies>
<dependency><groupId>com.google.android.gms</groupId><artifactId>play-services-games</artifactId><version>8.4+</version></dependency>
<dependency><groupId>com.google.android.gms</groupId><artifactId>play-services-plus</artifactId><version>8.4+</version></dependency>
</dependencies>

现在,以前的文件一度 只有

play-services-base > 或 < play-services-basement

这似乎导致了一个大问题。 AndroidJavaException: java.lang.NoSuchMethodError: 在设备上 运行 一次。

Android高手,是不是有了“基地”就一定有“地下室”……或者副相反?

的确,WRT play-services-games 或 play-services-plus,也许 one/both 以某种方式(或矛盾?)base/basement?

play-services-basementplay-services-base 的依赖项。它是在 Google Play 服务版本 8.1.0 中引入的,以帮助减少一些其他库的大小,如 play-services-adsplay-services-analytics.

当您添加 play-services-base 时,您也会自动添加 play-services-basement,因此无需添加显式依赖项。

您可以检查本地 Google 存储库中每个库的依赖项。

例如对于库 play-services-games 打开位于此处的文件 pom 文件:

extras/google/m2repository/com/google/android/gms/play-services-games/8.4.0/play-services-games-8.4.0.pom

这是文件的内容:

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.google.android.gms</groupId>
  <artifactId>play-services-games</artifactId>
  <version>8.4.0</version>
  <packaging>aar</packaging>
  <dependencies>
    <dependency>
      <groupId>com.google.android.gms</groupId>
      <artifactId>play-services-base</artifactId>
      <version>8.4.0</version>
      <scope>compile</scope>
      <type>aar</type>
    </dependency>
    <dependency>
      <groupId>com.google.android.gms</groupId>
      <artifactId>play-services-drive</artifactId>
      <version>8.4.0</version>
      <scope>compile</scope>
      <type>aar</type>
    </dependency>
  </dependencies>
</project>

如您所见,play-services-games 取决于 play-services-baseplay-services-drive