Google カレンダー v3 API を使用する Android プロジェクトがあります。
Google API クライアント とカレンダー API Javaライブラリを使用して、Google カレンダーでクエリを実行しています。
Maven の依存関係の設定に問題があります。ドキュメントのIDを使用してこれらのライブラリをpom.xmlに追加しましたが、それらの一部は古くなっているため、このpom.xmlになりました
<scope>provided</scope>
google-api-client、google-http-client-jackson、および google-http-client-android ライブラリを配置する必要がありました。これは、これらのライブラリを dex しようとしたときに maven が失敗していたためです。
Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.4.1:dex (default-dex)
これで、この pom.xml によって .apk が正常に作成され、デバイスにインストールされます。しかし、提供されたライブラリを使用して Calendar API にクエリを実行しようとすると、アプリが失敗し、一部のクラスが見つからないというメッセージが表示されます。
12-19 17:32:17.247: E/dalvikvm(15119): Could not find class 'com.google.api.services.calendar.model.TimePeriod', referenced from method
Eclipse からアプリをビルドしている場合 (すべての .jar は /libs フォルダーにあります)、すべて問題ありません。
したがって、これらの依存関係を Maven スクリプトに追加する正しい方法があるかどうか疑問に思います。Google には、動作しないリンクやサンプルを含む多くの古いドキュメントがあります。そうしないと、Google ライブラリを削除して、Calendar API クエリを自分で作成する必要がありました。
どんな助けでも大歓迎です。
答え:
xpp3.jar には javax パッケージのクラスが含まれているため、問題が発生していました。すべての Google ライブラリから手動で除外する必要がありました。
<exclusion>
<artifactId>xpp3</artifactId>
<groupId>xpp3</groupId>
</exclusion>