appengine连接android项目到达时死亡

时间:2013-04-24 06:44:40

标签: android google-app-engine google-cloud-endpoints gae-eclipse-plugin

我正在关注tutorial信件;好吧,它实际上是非常基本的,所以那里真的没什么。但是当我创建项目时,android部分没有编译。 Eclipse抱怨无法解析导入。例如,

com.myapp.deviceinfoendpoint部分下面有一条读取行
import com.myapp.deviceinfoendpoint.Deviceinfoendpoint;
import com.myapp.deviceinfoendpoint.Deviceinfoendpoint.Builder;
import com.myapp.deviceinfoendpoint.model.DeviceInfo;

有谁知道如何解决这个问题?也许这是一个构建路径问题,但没有关于如何设置构建路径的说明。

我正在使用mac osx mountain lion和eclipse juno

以下文件夹中还有红色十字:

  • 端点库/ libdeviceinfoendpoint-V1 / deviceinfoendpoint / deviceinfoendpoint-V1产生的源

  • / MyApp的/端点库/ libmessageEndpoint-V1 / messageEndpoint / messageendpoint-V1产生的源

  • / myapp / endpoint-libs(和子文件夹)

以及以下文件夹:

  • GCMIntentService.java

  • RegisterActivity.java

2 个答案:

答案 0 :(得分:3)

是的,它也发生在我身上。发生这种情况的原因是因为endpoint-libs/libdeviceinfoendpoint-v1/deviceinfoendpoint/deviceinfoendpoint-v1-generated-source

中的类如何(不确定它的Eclipse或GAE插件)

从预期结构中移出:

./deviceinfoendpoint-v1-generated-source
    |- com
       |-myapp
           |- deviceinfoendpoint
               |- Deviceinfoendpoint.java

无效结构:

./deviceinfoendpoint-v1-generated-source
    |- com
       |-google
           |- api
               |- services
                   |- com.myapp.deviceinfoendpoint
                       |- Deviceinfoendpoint.java

从理论上讲,这不应该发生。但是,它确实如此! : - )

尝试重新生成新的客户端库,或尝试手动修复它们。

[更新:再次重新生成客户端库无法提供帮助。尝试命令行模式。

或者通过

手动执行此操作
  1. com.google.api.services/com.myapp/包的所有内容移至com.myapp/
  2. 搜索替换“com.google.api.services”的所有内容。在所有生成的java源文件中。
  3. 我尝试了这个并且它有效。 ]


    P.S:您可能想知道Google Endpoints目前正在经历一些中断。您可能需要等待一段时间才能进行测试。请密切关注此问题:https://code.google.com/p/googleappengine/issues/detail?id=9214

    更新:向Google报告此问题可能会有所帮助:https://code.google.com/p/google-plugin-for-eclipse/issues/detail?id=117

答案 1 :(得分:0)

最简单的解决方案是在向导中的默认位置中创建项目。然后它只是工作(截至撰写本文时,但它没有使用)。您可以将它移动到您想要的任何位置。

enter image description here

可以在不同的文件夹中创建它,但您必须:

  • 编辑descriptor.json文件中的modulePath条目以删除额外路径(在我的情况下将com / test更改为com /)。
  • 删除java构建路径中的错误生成源文件夹。
  • 将正确的生成源文件夹添加到java构建路径中。

这是毫无意义的,但为了完整性而包括在这里。我承认我不知道我在descriptor.json文件中做了什么,但它解决了我的问题。