10

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 の専門家の皆さん、「base」があれば「basement」が必要ということですか? それともその逆ですか?

確かに、WRT play-services-games または play-services-plus のいずれかまたは両方が何らかの形で依存している (または矛盾している) 基地/地下室?

4

1 に答える 1

16

ライブラリplay-services-basementは の依存関係ですplay-services-baseplay-services-adsや などの他のライブラリのサイズを縮小するために、Google Play Service バージョン 8.1.0 で導入されました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-baseplay-services-drive

于 2016-04-06T22:19:56.970 に答える