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-basement
是 play-services-base
的依赖项。它是在 Google Play 服务版本 8.1.0 中引入的,以帮助减少一些其他库的大小,如 play-services-ads
和 play-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-base
和 play-services-drive
我找到了一个 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-basement
是 play-services-base
的依赖项。它是在 Google Play 服务版本 8.1.0 中引入的,以帮助减少一些其他库的大小,如 play-services-ads
和 play-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-base
和 play-services-drive