本页面介绍如何将现有 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 的操作。该指南将迁移使用 Endpoints 模块的 Android Studio 项目。
任务列表
学习本迁移指南时,请使用以下概要任务列表。此迁移指南假定您现在已有使用Google Cloud 模块的 Android 项目。
准备工作
- 安装 Android Studio。
 - 安装 Android SDK 26+。
 - 安装 gcloud CLI。
 
设置 gcloud CLI
如需设置 gcloud CLI,请执行以下操作:
初始化 gcloud CLI:
gcloud init使用应用默认凭据:
gcloud auth application-default login安装
app-engine-java组件:gcloud components install app-engine-java
可选:下载示例代码
如需从 GitHub 克隆 legacy 和 v2 示例项目,请执行以下操作:
将示例代码库克隆到您的本地机器:
git clone https://github.com/GoogleCloudPlatform/android-docs-samples切换到包含
legacy和v2的示例代码的目录:cd android-docs-samples/endpoints-frameworks/
迁移到 Endpoints Frameworks 2.0 版
更新 build.gradle 文件:
Endpoints Frameworks 2.0 版依赖项使用 Guava 19,而 Android Gradle 构建插件 com.android.tools.build:gradle:2.3.3 使用 Guava 18。将 Guava 19 添加到 build.gradle 的构建脚本依赖项闭包可替换此传递依赖项。
旧版
v2
更新 app/build.gradle 文件
在 Endpoints 1.0 版中,您使用 Gradle 插件 gradle-appengine-plugin 来生成 API 发现文档。在 Endpoints Frameworks 2.0 版中,您使用 endpoints-framework-gradle-plugin 来生成 Discovery 文档。
此构建脚本使用客户端插件 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 类已从 SystemServiceServlet 更改为 EndpointsServlet。
网址格式已从 /_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 功能,请转到 Java 页面中的适用于 App Engine 的 Endpoints Frameworks。