如何将Cloud Endpoints生成的sources.jar库移动到Android项目中

时间:2013-03-13 18:32:50

标签: android google-cloud-endpoints

适用于Eclipse的Google插件包含一个自动生成云端点客户端库的工具。但似乎没有一种简单的方法可以将生成的source.jar文件移动到您的Android源代码中。

文档https://developers.google.com/appengine/docs/java/endpoints/consume_android

  

端点生成会生成源jar文件。添加   此jar文件的内容到您的Android项目。

将source.jar文件放入Android / lib或/ libs似乎不可能,因为源是.java而不是.class形式。所以我只是手动复制GPE生成的源代码(它们放在AppEngine项目的endpoints-lib文件夹中)。这可能非常麻烦,尤其是当您有多个端点并经常进行编辑时。

另见Error connecting android app to Google Cloud Endpoints: could not find class

有没有人知道在Android项目中直接实际使用sources.jar文件的方法?感谢。

2 个答案:

答案 0 :(得分:6)

通过在

目录中添加链接资源,Eclipse中解决了这个问题

您-应用服务引擎项目/端点库/ libYourEndpoint-V1 / yourendpoint / yourendpoint生成的源/

您可以通过在Properties-> Java Build Path-> Source Link

中添加源链接在Eclipse中执行此操作

在此之后,您的Android或客户端项目将看到使用“Google->生成客户端端点库”生成的任何更改

答案 1 :(得分:4)

这个想法是生成客户端库的向导也会将其复制到客户端项目中。

但这取决于例如你最初如何创建你的项目,即使它确实有效,如果你有多个客户项目,或者改变你的客户项目怎么办......所以这里有一些想法:

  • 我找到了一个文件,指定客户端库将被复制到哪个项目(在.settings文件夹中): com.google.gdt.eclipse.appengine.swarm.prefs:

    connectedProject = [目标机器人项目名称]
    eclipse.preferences.version = 1

手动更改此文件对我有用,但如果它不存在,我还没有尝试手动创建它。

  • 您询问的另一个解决方案是手动复制文件。在我的情况下,我能够将生成的文件从[gae-project] \ endpoint-libs复制到[android-project] \ endpoint-libs。如果我没记错的话,你必须找到sources jar文件(它在你复制的文件中并且很容易找到)并将它们解压缩到“[endpoint-name] -v1-generated-source”文件夹中。您在找到jar的同一文件夹中创建此文件夹。

显然这不是一个好的解决方案,所以..

  • 可以使用endpoints.cmd / bat代替GPE向导 - 我建议您查看它是否有复制和提取生成的库的命令。我相信你会在GAE / J SDK的'bin'文件夹中找到它。