本页面介绍如何将现有 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。