为什么生成的 Cloud Endpoints 库会不时更改其版本?
Why does the generated Cloud Endpoints library change its version now and then?
Android Studio 中的 App Engine 项目(默认情况下)配置为生成客户端库,可由 Android and/or iOS 应用程序使用.
Gradle配置为自动生成库:
apply plugin: 'appengine'
appengine {
downloadSdk = true
appcfg {
oauth2 = true
}
endpoints {
getClientLibsOnBuild = true
getDiscoveryDocsOnBuild = true
}
}
注意这里没有指定版本。
如https://cloud.google.com/appengine/docs/java/endpoints/gen_clients中指定,库名生成为
/target/<yourProjectVersion>.<versionString>-rc-SNAPSHOT.jar
该文档可能仍然来自 Android Studio 的 rc 候选,因为我的库如下所示:
com.mydomain:api:v2-1.20.0-SNAPSHOT
我在一个单独的项目中使用该库:
compile 'com.mydomain:api:v2-1.20.0-SNAPSHOT'
这工作正常,直到 Android Studio 或 gradle 或 Google 或任何更改版本号的人,此处 1.20.0
。然后我的应用程序编译中断,直到我在 gradle.
中调整版本
- 这是为什么?任何人都可以告诉我为什么版本在几个月内保持稳定,然后突然从一天变成另一天,而我这边没有进行任何更新或更改。那个版本是什么,谁生成它,当我从我的 App Engine 项目生成它时我可以控制它吗?
注意:鉴于 App Engine 模块和 Android 应用程序模块在同一个项目中,Android Studio 更改了两个版本并且一切正常。但是,当项目是独立的时,自动构建就会中断。
1.20.0
版本与 Maven 的 appengine 端点客户端库生成包的版本匹配,用于创建您的客户端库。在幕后,它是 运行 Maven 目标 appengine:endpoints_get_client_lib
以构建 JAR/AAR 您的 Android 应用程序所需的。检查您的编译依赖项以查看为 appengine 指定的版本。如果它使用的是末尾带有 +
的版本,那么 Gradle 并且 Maven 可能会下载更新版本的 plugins/SDKs 用于构建您的端点以及所需的库客户端应用程序。
没有记录的方法可以使用 Maven 目标或 Gradle 覆盖此版本信息。但是,您可以使用 AppEngine SDK 中的 endpoints.sh
脚本手动构建库,这样您就可以按照自己的方式设置版本。
Android Studio 中的 App Engine 项目(默认情况下)配置为生成客户端库,可由 Android and/or iOS 应用程序使用.
Gradle配置为自动生成库:
apply plugin: 'appengine'
appengine {
downloadSdk = true
appcfg {
oauth2 = true
}
endpoints {
getClientLibsOnBuild = true
getDiscoveryDocsOnBuild = true
}
}
注意这里没有指定版本。
如https://cloud.google.com/appengine/docs/java/endpoints/gen_clients中指定,库名生成为
/target/<yourProjectVersion>.<versionString>-rc-SNAPSHOT.jar
该文档可能仍然来自 Android Studio 的 rc 候选,因为我的库如下所示:
com.mydomain:api:v2-1.20.0-SNAPSHOT
我在一个单独的项目中使用该库:
compile 'com.mydomain:api:v2-1.20.0-SNAPSHOT'
这工作正常,直到 Android Studio 或 gradle 或 Google 或任何更改版本号的人,此处 1.20.0
。然后我的应用程序编译中断,直到我在 gradle.
- 这是为什么?任何人都可以告诉我为什么版本在几个月内保持稳定,然后突然从一天变成另一天,而我这边没有进行任何更新或更改。那个版本是什么,谁生成它,当我从我的 App Engine 项目生成它时我可以控制它吗?
注意:鉴于 App Engine 模块和 Android 应用程序模块在同一个项目中,Android Studio 更改了两个版本并且一切正常。但是,当项目是独立的时,自动构建就会中断。
1.20.0
版本与 Maven 的 appengine 端点客户端库生成包的版本匹配,用于创建您的客户端库。在幕后,它是 运行 Maven 目标 appengine:endpoints_get_client_lib
以构建 JAR/AAR 您的 Android 应用程序所需的。检查您的编译依赖项以查看为 appengine 指定的版本。如果它使用的是末尾带有 +
的版本,那么 Gradle 并且 Maven 可能会下载更新版本的 plugins/SDKs 用于构建您的端点以及所需的库客户端应用程序。
没有记录的方法可以使用 Maven 目标或 Gradle 覆盖此版本信息。但是,您可以使用 AppEngine SDK 中的 endpoints.sh
脚本手动构建库,这样您就可以按照自己的方式设置版本。