わかった。だから私はこれを何日も調査しましたが、私の問題を解決する答えを見つけることができません. 学校で数か月間取り組んできた Google App Engine Python プロジェクトがあり、それに合わせて Android アプリを追加したいと考えています。Javascript と API コンソールで動作する Python で API サーバーを作成しました。コマンド「endpointscfg.py get_client_lib java -o . [my_module.MyApi]」を実行すると、[projectName]-[Api]-v1-20131104131234-java-1.17.0-rc-sources を含む .zip ファイルが生成されました。瓶。これを新しい Android プロジェクトの libs/ ディレクトリに追加し、ビルド パスに参照を追加しました。インポート時に [Api] 名のパッケージも表示されます。ただし、API からオブジェクトをインスタンス化しようとすると、API から何も見つかりません。その sources.jar ファイルに含まれていない場合、Android プロジェクトの Python API で記述したオブジェクトをインスタンス化するにはどうすればよいですか? ありがとう!
1 に答える
この* -sources.jar が現在持っているのはクライアント ライブラリのソース コードであり、1 つの Java プロジェクトで自分でビルドする必要があります。これを行う 1 つの方法は、このページhttps://developers.google.com/appengine/docs/java/endpoints/consume_androidの指示に従うことです。
1.12.0 ではなく Google Java クライアント バージョン 1.17.0-rc を使用しているため、このドキュメントは少し古くなっています。基本的に行う必要があるのは、1) ソース jar を解凍し、2) ソース コードを 1 つの Java プロジェクトに追加することです。3) ライブラリの依存関係をプロジェクトの libs ディレクトリとクラスパスに追加します。4) プロジェクトをビルドし、実際の Android プロジェクトの依存関係プロジェクトとして作成します。
それには多くの時間がかかる場合があります。これを行う別の方法は、endpointscfg.py コマンドから Maven/Gradle クライアント バンドルを生成することです。できることは、コマンドに「-bs=maven」または「-bs=gradle」を追加することです (「bs」オプションは、App Engine SDK 1.8.6 以降で使用できます: https://developers.google.com/appengine/ docs/python/endpoints/endpoints_tool )。「より小さな」Maven/Gradle クライアント バンドルを取得します。バンドル内の readme.html ファイル内の指示に従うことで、Android プロジェクト内で API を呼び出す方法を理解できます。Android プロジェクトで Maven または Gradle を使用している場合は、"mvn install" を実行して Maven/Gradle 依存関係を Android プロジェクトに追加するだけです。