2

私はある種の混乱しています。Android 用の Google Play Services をインストールしたいのですが、次の質問を見つけました: Maven プロジェクトで Google Play Services を使用するにはどうすればよいですか?

多くの mavenized API をインストールするためのプロジェクトを提供するhttps://github.com/mosabua/maven-android-sdk-deployer/への参照があります。そこで、最新のGoogle Play Services APIの1つを取得するためにダウンロードしてビルドしましたが、追加すると

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

私のプロジェクトでは、依存関係として「support-v4-19.1.0.jar」を取得します。これには、Google Play Services クラスが含まれておらず、Google Services API で提供されるレイアウト ファイルもありません。例: https://developer.android.com/google/play-services/setup.htmlを見て、ProGuard 部分を読むと、少なくとも SafeParcelable というクラスが必要ですが、これには Maven によるプロジェクトが含まれていました。このクラスが含まれる共通パッケージすらありません。ここで何が起こっているのだろうか。

プロジェクト play-services-5.0.89.aar は Maven リポジトリにあります。しかし、これをどのように使用するのですか?aarか何かなので、追加のタスクはありますか?

[更新]
わかりました 、それはEclipseの問題だけのようです.com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext())はMavenによってコンパイル可能ですが、Eclipseはそれを見つけられません. これは、Google Play Services API がプロジェクト内で機能することを意味します。

[更新 2] 一方、aar は Eclipse でサポートされていないことがわかりました。しかし、Eclipse で apklib と aar (android-maven-plugin でサポートされている) を使用するには、ちょっとしたトリックを使用します。パッケージを (Maven リポジトリで) 解凍し、ライブラリとして Eclipse にインポートします。次に、ライブラリ参照をメイン プロジェクトのプロパティに追加します。Eclipse はこれらのライブラリのクラスを見つけるので、間違った Eclipse プロジェクトはなくなり (コンテンツ アシストも機能します)、android-maven-plugin を使用すると Maven でビルドすることもできます。言い換えれば、間違ったプロジェクトを持たないようにするためのコード記述のために、aar と apklib をライブラリとして Eclipse にインポートするだけで済みます。ビルド プロセスでは、Maven がすべてのビルド処理を行うため、これはすべて問題ではありません。

4

0 に答える 0