このページでは、既存の Android Cloud Endpoints バージョン 1.0 アプリを App Engine 用 Endpoints Frameworks に移行する方法について説明します。 このページでは、Endpoints バージョン 1.0 を「Endpoints Frameworks バージョン 1.0」、新しい App Engine 用 Endpoints Frameworks を「Endpoints Frameworks バージョン 2.0」と表記します。
利点
新しいフレームワークには数多くの利点があります。
- リクエスト レイテンシの短縮
- App Engine の機能(カスタム ドメインなど)との統合強化
- Guice 構成の正式サポート
- (オプション)新しい API 管理機能
Endpoints Frameworks バージョン 2.0 に移行しても、API のインターフェースには影響しません。既存のクライアントは、クライアント側コードを変更しなくても、移行後も引き続き動作します。
Android 複数モジュール プロジェクトを Endpoints Frameworks バージョン 2.0 に移行する
ここでは、Android Studio Endpoints Frameworks バージョン 1.0 プロジェクトから Endpoints Frameworks バージョン 2.0 への移行手順について説明します。Android Studio プロジェクトを Endpoints モジュールと一緒に移行する場合を例にとり、説明を進めます。
タスクリスト
タスクの概要を示す次のリストを参照しながら、移行ガイドを実施してください。この移行ガイドでは、Google Cloud モジュールを使用する Android プロジェクトが存在することを前提としています。
- 始める前に
- Google Cloud CLI を設定する
- (オプション)サンプルコードをダウンロード
- Endpoints Frameworks バージョン2.0 への移行
- バックエンド モジュールのデプロイ
- クライアント ライブラリの生成
始める前に
- Android Studio をインストールします。
- Android SDK 26 以降をインストールします。
- gcloud CLI をインストールします。
gcloud CLI を設定する
gcloud CLI を設定する手順は次のとおりです。
gcloud CLI を初期化します。
gcloud initアプリケーションのデフォルト認証情報を使用します。
gcloud auth application-default loginapp-engine-javaコンポーネントをインストールします。gcloud components install app-engine-java
(オプション)サンプルコードをダウンロード
GitHub から legacy および v2 サンプル プロジェクトのクローンを作成するには:
ローカルマシンにサンプル リポジトリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/android-docs-sampleslegacyとv2に対するサンプルコードを含むディレクトリに変更します。cd android-docs-samples/endpoints-frameworks/
Endpoints Frameworks バージョン 2.0 への移行
build.gradle ファイルの更新
Endpoints Frameworks バージョン 2.0 の依存関係は Gauva 19 を使用し、Android Gradle ビルド プラグイン com.android.tools.build:gradle:2.3.3 は Gauva 18 を使用します。この一時的な依存関係をオーバーライドするため、Gauva 19 を build.gradle のビルド スクリプト依存関係クロージャに追加します。
レガシー
v2
app/build.gradle ファイルの更新
Endpoints バージョン 1.0 では、Gradle プラグイン gradle-appengine-plugin を使用して API ディスカバリ ドキュメントを生成していました。Endpoints Frameworks バージョン 2.0 では、endpoints-framework-gradle-plugin を使用してディスカバリ ドキュメントを生成します。
このビルド スクリプトでは、クライアント側プラグインの com.google.cloud.tools.endpoints-framework-client を使用します。
レガシー
v2
backend/build.gradle ファイルの更新
App Engine スタンダード環境の Gradle ツールが更新されました。Endpoints Frameworks バージョン 1.0 プロジェクトでは com.google.appengine 内の gradle-appengine-plugin を使用していましたが、Endpoints Frameworks バージョン 2.0 プロジェクトでは appengine-gradle-plugin を使用します。
このビルド スクリプトでは、サーバー側プラグインの com.google.cloud.tools.endpoints-framework-server を使用します。
レガシー
v2
web.xml ファイルの更新
Endpoints Frameworks バージョン 2.0 では、servlet-class が SystemServiceServlet から EndpointsServlet に変わりました。
URL パターンも /_ah/spi/* から /_ah/api/* に更新されました。
レガシー
v2
プロジェクトの再ビルド
最後に、Android Studio ビルドリストを使用し、新しい依存関係を適用して Android Studio プロジェクトをクリーンアップおよび再ビルドします。

バックエンド モジュールのデプロイ
新しい Gradle App Engine プラグインを使用してバックエンド モジュールをデプロイする場合は、backend モジュールで次の Gradle タスクを使用します。
gradle appengineDeploy
クライアント ライブラリの生成
クライアント ライブラリを生成する場合は、backend モジュールで次の Gradle タスクを使用します。
gradle endpointsClientLibs
Endpoints Frameworks Gradle プラグインで使用可能なタスクの詳細を確認してください。
Endpoints API 管理の追加
Endpoints Frameworks バージョン 2.0 では、次のような API 管理機能を有効にすることもできます。
- API キー管理
- API 共有
- ユーザー認証
- API 指標
- API ログ
Cloud Endpoints Frameworks 2.0 の機能を使い始めるには、Endpoints Frameworks for App Engine に関する Java のページをご覧ください。