4

Google Plugin for Eclipse には、クラウド エンドポイント クライアント ライブラリを自動的に生成する機能が含まれています。しかし、生成された source.jar ファイルを Android ソースに移動する簡単な方法はないようです。

ドキュメントhttps://developers.google.com/appengine/docs/java/endpoints/consume_androidは言う

エンドポイントの生成により、ソース jar ファイルが生成されます。この jar ファイルの内容を Android プロジェクトに追加します。

ソースが .class 形式ではなく .java であるため、source.jar ファイルを Android の /lib または /libs に配置することはできないようです。そのため、GPE によって生成されたソース (AppEngine プロジェクトの endpoints-lib フォルダーに配置されています) を手動でコピーするだけです。これは、複数のエンドポイントがあり、頻繁に編集する場合は特に、非常に面倒です。

Android アプリを Google Cloud Endpoints に接続するときにエラーが発生しました: クラスが見つかりませんでした

Android プロジェクトで直接 sources.jar ファイルを実際に使用する方法を知っている人はいますか? ありがとう。

4

2 に答える 2

6

この問題は、リンクされたリソースを次のディレクトリに追加することにより、Eclipse で解決されます。

your-appengine-project/endpoint-libs/libYourEndpoint-v1/yourendpoint/yourendpoint-generated-source/

Eclipse でこれを行うには、[プロパティ] -> [Java ビルド パス] -> [ソース リンク] にソース リンクを追加します。

この後、Android またはクライアント プロジェクトは、「Google->クライアント エンドポイント ライブラリの生成」を使用して生成された変更を確認します。

于 2013-03-19T15:38:23.137 に答える
4

クライアント ライブラリを生成するウィザードは、それをクライアント プロジェクトにもコピーするという考え方です。

ただし、それは、最初にプロジェクトをどのように作成したかなどによって異なります。また、それが機能する場合でも、複数のクライアント プロジェクトがある場合や、クライアント プロジェクトを変更した場合はどうなるかによって異なります。以下にいくつかのアイデアを示します。

  • クライアント ライブラリがコピーされるプロジェクトを指定するファイルを見つけました (.settings フォルダー内): com.google.gdt.eclipse.appengine.swarm.prefs:

    connectedProject=[ターゲット android プロジェクト名]
    eclipse.preferences.version=1

このファイルを手動で変更するとうまくいきましたが、存在しない場合は手動で作成しようとはしませんでした。

  • あなたが尋ねた他の解決策は、ファイルを手動でコピーすることです。私の場合、生成されたファイルを [gae-project]\endpoint-libs から [android-project]\endpoint-libs にコピーできました。私の記憶が正しければ、ソース jar ファイル (コピーしたファイルの中にあり、簡単に見つけることができます) を見つけて、それらを "[endpoint-name]-v1-generated-source" フォルダーに抽出する必要があります。このフォルダーは、jar を見つけたのと同じフォルダーに作成します。

明らかにそれは素晴らしい解決策ではないので..

  • GPE ウィザードの代わりに使用できる endpoints.cmd/bat があります。生成されたライブラリをコピーして抽出するコマンドがあるかどうかを確認することをお勧めします。GAE/J SDK の「bin」フォルダにあると思います。
于 2013-03-15T22:06:22.220 に答える