在Android Studio中生成Google App Engine后端的问题

时间:2013-08-07 12:32:14

标签: android google-app-engine maven android-studio

我无法在Android Studio中使用后端生成功能。我跟着this博客文章尝试为我的应用程序设置后端,但是我收到以下IDE错误:

插件Maven集成中的异常

Argument 0 for @NotNull parameter of com/intellij/util/containers/ContainerUtil.map must not be null: Argument 0 for @NotNull parameter of com/intellij/util/containers/ContainerUtil.map must not be null
java.lang.IllegalArgumentException: Argument 0 for @NotNull parameter of com/intellij/util/containers/ContainerUtil.map must not be null
    at com.intellij.util.containers.ContainerUtil.map(ContainerUtil.java)
    at org.jetbrains.idea.maven.utils.MavenUtil.collectFiles(MavenUtil.java:247)
    at org.jetbrains.idea.maven.wizards.MavenProjectBuilder.commit(MavenProjectBuilder.java:129)
    at com.intellij.projectImport.ProjectImportBuilder.commit(ProjectImportBuilder.java:59)
    at com.google.gct.intellij.endpoints.externalbuilder.MavenBackendGeneratorHelper.addMavenFunctionality(MavenBackendGeneratorHelper.java:216)
    at com.google.gct.intellij.endpoints.externalbuilder.ui.GenerateMavenBackend.actionPerformed(GenerateMavenBackend.java:115)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:162)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:260)
    at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:892)
    at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:114)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:230)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:104)
    at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:512)
    at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:44)
    at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:532)
    at java.awt.Component.processMouseEvent(Component.java:6505)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at java.awt.Component.processEvent(Component.java:6270)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4861)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    at java.awt.Container.dispatchEventImpl(Container.java:2273)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4687)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:688)
    at java.awt.EventQueue$3.run(EventQueue.java:686)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:702)
    at java.awt.EventQueue$4.run(EventQueue.java:700)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:686)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:510)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:339)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

在该过程完成后,我只生成-AppEngine模块,没有-endpoints模块。

我确信Maven已在我的机器上正确设置,我检查了this问题,该问题还抱怨无法生成后端。

这个问题有解决方法吗?

3 个答案:

答案 0 :(得分:1)

[windows 8]获得0.4.0 Android Studio, 新项目, 点击选择 工具> Google云端工具>生成App Engine

提供项目编号和项目ID以及API密钥 https://cloud.google.com/console#/project 看起来你已经知道了这个

这将生成-AppEngine 和 -endpoints

在项目浏览器左侧选择-endpoints, 然后是工具> Google云端工具>生成客户端库 (这使得.war与app-engine一起部署,因此app-engine代码可以处理端点代码)

点击最右边顶部垂直写的“Maven Projects”, 单击插件> appengine,单击appengine:update

这将部署appengine。

(2014年1月7日)您必须返回控制台并重新选择正确的版本,以便应用程序注册Endpoint服务。

去这里: https://cloud.google.com/console#/project,然后单击AppEngine,然后单击版本,再单击最新版本,然后单击“设为默认值”

答案 1 :(得分:1)

新解决方案是转到文件&gt; 新模块&gt; 更多模块&gt; AppEngine Java端点模块< /强>

这是一个Google I / O视频,详细介绍了如何设置设置步骤: https://www.youtube.com/watch?v=KBhOkfbbZLk

Google工具的Cloud Tools文档中也有此链接: https://cloud.google.com/mobile/app_engine/add_module

答案 2 :(得分:0)

您需要将Google API套件安装到您的工作区中。然后,只有您将访问相同的..否则,它仅显示错误..