行。所以我已经研究了几天,找不到解决我问题的答案。我有一个Google App Engine Python项目,我已经为学校工作了几个月,现在我希望添加一个Android应用程序来配合它。我在Python中创建了一个API服务器,可以在Javascript和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中找到任何内容。如果sources.jar文件不包含我在Android项目中在Python API中编写的对象,如何实例化?谢谢!
答案 0 :(得分: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客户端捆绑包。通过遵循bundle中readme.html文件内的指令,您可以了解如何在Android项目中调用API。这更容易,只需运行" mvn install"如果您在Android项目中使用Maven或Gradle,我会向您的Android项目添加Maven / Gradle依赖项,我建议您这样做。