4

好的。所以我研究了几天,找不到解决我问题的答案。我有一个 Google App Engine Python 项目,我已经为学校工作了几个月,现在我希望添加一个 Android 应用程序来配合它。我在 Python 中创建了一个在 Javascript 和 API 控制台上工作的 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 中找到任何内容。如果该 source.jar 文件不包含我在 Android 项目中的 Python API 中编写的对象,我该如何实例化它?谢谢!

4

1 回答 1

3

这个* -sources.jar 目前拥有的是你的客户端库的源代码,你需要在一个 Java 项目中自己构建它。一种方法是遵循此页面中的说明https://developers.google.com/appengine/docs/java/endpoints/consume_android

该文档有点过时了,因为您现在使用的是 Google Java Client 版本 1.17.0-rc,而不是 1.12.0。您需要做的基本上是1)解压缩源jar,2)将源代码添加到一个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。这要容易得多,只需运行“mvn install”并将 Maven/Gradle 依赖项添加到您的 Android 项目中,如果您在 Android 项目中使用 Maven 或 Gradle,我会推荐。

于 2013-11-04T19:03:00.483 回答