标签: gae-eclipse-plugin

使用blobstore与谷歌云端点和android

我正在使用eclipse插件开发一个app-engine连接的android项目.该应用程序的一个方面是允许用户Alpha将图片发送给用户Bravo.为此,我有以下设置:

用户Alpha发布:

  • 通过端点将图像发送到我的应用引擎服务器
  • 服务器将图像存储在blob存储中
  • 服务器在数据存储区中存储blobkey

用户Bravo获得:

  • 服务器从数据存储区获取blobkey
  • 服务器使用blob密钥获取图像
  • 服务器使用端点将图像发送到Android应用程序

这个设置需要两(2)分钟,从我的Android应用程序发送图像到我可以在blob疼痛中看到它.不用说这是完全不可接受的.

我的服务器通过以下代码以编程方式处理图像:

public static BlobKey toBlobstore(Blob imageData) throws FileNotFoundException, FinalizationException, LockException, IOException {
        if (null == imageData)
            return null;

        // Get a file service
        FileService fileService = FileServiceFactory.getFileService();

        // Create a new Blob file with mime-type "image/png"
        AppEngineFile file = fileService.createNewBlobFile("image/jpeg");// png

        // Open a channel to write to it
        boolean lock = true;
        FileWriteChannel writeChannel = fileService.openWriteChannel(file, lock);

        // This time we write to the channel directly
        writeChannel.write(ByteBuffer.wrap
            (imageData.getBytes()));

        // …
Run Code Online (Sandbox Code Playgroud)

google-app-engine android blobstore gae-eclipse-plugin google-cloud-endpoints

32
推荐指数
2
解决办法
9769
查看次数

为什么Eclipse认为app引擎sdk jar是app引擎SDK的目录?

我在Eclipse中导入了Google App Engine项目.出于某种原因,当我转到Eclipse项目属性时,Google App Engine SDK似乎被保存为jar的位置(appengine-api-1.0-sdk-1.4.0.jar),而不是实际SDK所在的位置.如果我修改项目的设置以使用正确的SDK,则不会保存新设置.因为我无法修改设置,所以无法再从Eclipse内部部署我的应用程序.

java eclipse google-app-engine eclipse-3.6 gae-eclipse-plugin

19
推荐指数
1
解决办法
5839
查看次数

GAE 500服务器错误

我正在开发GAE上的应用程序,我在本地测试网站很好,但每次我尝试将它部署到GAE时报告错误:服务器错误

The server encountered an error and could not complete your request.
Please try again in 30 seconds. 
Run Code Online (Sandbox Code Playgroud)

我在谷歌搜索了很多,似乎没有答案可以解决我的问题.当我在GAE应用程序中查找日志时,以下是我到目前为止发现的主要问题.最初,我认为这是由JDK8引起的,但是当我设置JDK8时,我甚至无法在本地运行应用程序!

    Uncaught exception from servlet
java.lang.UnsupportedClassVersionError: org/apache/jsp/index_jsp : Unsupported major.minor version 52.0
    at com.google.appengine.runtime.Request.process-aea5c804a9f29902(Request.java)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:795)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:360)
    at org.mortbay.util.Loader.loadClass(Loader.java:91)
    at org.mortbay.util.Loader.loadClass(Loader.java:71)
    at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
    at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:437)
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:444)
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:188)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:308) …
Run Code Online (Sandbox Code Playgroud)

google-app-engine gae-eclipse-plugin google-cloud-datastore

14
推荐指数
3
解决办法
8196
查看次数

appengine连接android项目到达时死亡

我按照教程写了这封信; 好吧,它实际上是非常基本的,所以那里真的没什么.但是当我创建项目时,android部分没有编译.Eclipse抱怨无法解析导入.例如,在该com.myapp.deviceinfoendpoint部分下面有一条读取线

import com.myapp.deviceinfoendpoint.Deviceinfoendpoint;
import com.myapp.deviceinfoendpoint.Deviceinfoendpoint.Builder;
import com.myapp.deviceinfoendpoint.model.DeviceInfo;
Run Code Online (Sandbox Code Playgroud)

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

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

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

  • 端点库/ libdeviceinfoendpoint-V1/deviceinfoendpoint/deviceinfoendpoint-V1生成源

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

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

和以下文件夹:

  • GCMIntentService.java

  • RegisterActivity.java

google-app-engine android gae-eclipse-plugin google-cloud-endpoints

12
推荐指数
1
解决办法
2256
查看次数

Google appEngine:404访问/ _ah/api时

我尝试使用eclipse和Eclipse插件Eclipse构建一个非常简单的GAE应用程序.我从@Entity类生成了一些Endpoint,然后我生成了Cloud Endpoint Client库.

之后我启动了appEngine项目(在eclipse中,在嵌入式jetty服务器上).当我尝试访问/ _ah/api时,我遇到以下问题:

HTTP ERROR 500

Problem accessing /_ah/api/. Reason:

Failed to retrieve API configs with status: 404

Caused by:

java.io.IOException: Failed to retrieve API configs with status: 404
at com.google.api.server.spi.tools.devserver.ApiServlet.getApiConfigSources(ApiServlet.java:102)
at com.google.api.server.spi.tools.devserver.ApiServlet.initConfigsIfNecessary(ApiServlet.java:67)
at com.google.api.server.spi.tools.devserver.RestApiServlet.service(RestApiServlet.java:117)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:123)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:63)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectRequest(DevAppServerModulesFilter.java:368)
at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectModuleRequest(DevAppServerModulesFilter.java:351)
at com.google.appengine.tools.development.DevAppServerModulesFilter.doFilter(DevAppServerModulesFilter.java:116)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at …
Run Code Online (Sandbox Code Playgroud)

google-app-engine gae-eclipse-plugin

11
推荐指数
1
解决办法
3000
查看次数

创建发布android apk时Proguard异常

我正在使用eclipse插件构建一个连接android项目的app引擎.该项目工作正常,所以我决定是时候创建一个发布APK.使用eclipse,我会完成整个过程.但是当我到达终点时,我得到一个例外:Proguard returned with error code 1.我在下面包含了整个日志.

我的GEP生成的项目附带了两个与proguard相关的文件:proguard-google-api-client.txtproguard-project.txt.还有一个名为proguard的项目,但它是空的.该project.properties文件中有两行

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt:proguard-google-api-client.txt
target=android-17
Run Code Online (Sandbox Code Playgroud)

请有人帮忙.除了这些程序错误,我的代码工作正常.我在模拟器和真实设备中进行测试.这从未停止过发展中的问题.此外,我的后端已部署在app引擎上,我可以毫不费力地使用我的dev api.

After some reading, I landed on How can I check/upgrade Proguard version whn using it in Eclipse for Android development?. But after I manually update proguard from 4.7 to 4.9, when I try to export an apk I get the eclipse error that it cannot find the file android-sdk-macosx/tools/proguard/proguard-android.txt.

EDIT: Based on feedback I receive, I created the following …

macos android proguard apk gae-eclipse-plugin

10
推荐指数
1
解决办法
5909
查看次数

使用Google Eclipse插件干扰Google Cloud Endpoints

使用Google Appengine Eclipse插件生成端点时,我遇到了一种奇怪的行为.我有一个端点类,有超过20个端点方法.当我第一次尝试为android生成端点时,我得到了错误

 Generating Cloud Endpoint has encountered errors and is not complete
Run Code Online (Sandbox Code Playgroud)

通过故障排除,我注释掉所有找到罪魁祸首的方法.我发现有点莫名其妙.取消注释第16个方法后,我再次收到错误.有两种方法相互干扰!如果我注释掉一个或另一个端点生成正常.但如果我同时取消注释,我会得到上面的错误.

有谁知道可能导致这种干扰的原因是什么?

@ApiMethod(name = "getOrangers", httpMethod = HttpMethod.POST)
public FaceList getOrangers(UserRequest request) throws NotFoundException {
    FaceList list = new FaceList();
    return list;
}

@ApiMethod(name = "getMangoers", httpMethod = HttpMethod.POST)
public FaceList getMangoers(UserRequest request) throws NotFoundException {
    FaceList list = new FaceList();
    return list;
}
Run Code Online (Sandbox Code Playgroud)

我已经将方法编辑到它们的存根,如上所示,仍然会遇到相同的干扰问题.

java google-app-engine gae-eclipse-plugin google-cloud-endpoints

9
推荐指数
1
解决办法
2377
查看次数

将blob servlet与端点api相结合

这是我的 web.xml

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <servlet>
    <servlet-name>Upload</servlet-name>
    <servlet-class>Upload</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>Upload</servlet-name>
    <url-pattern>/upload</url-pattern>
  </servlet-mapping>

    <servlet>
        <servlet-name>SystemServiceServlet</servlet-name>
        <servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class>
        <init-param>
            <param-name>services</param-name>
            <param-value>com.company.game.GameApi</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>SystemServiceServlet</servlet-name>
        <url-pattern>/_ah/spi/*</url-pattern>
    </servlet-mapping>

</web-app>
Run Code Online (Sandbox Code Playgroud)

我有一个Google Cloud Endpoint api,GameApi,除了加载花费太长时间的blob之外,它一直运行良好.所以我决定使用Upload谷歌网站上servlet从用户上传我的blob.我基本上将blob文件的xml代码添加到端点api的现有xml代码中,从而生成上面显示的xml.但是从不调用Upload servlet.我在localhost上测试,我可以在_BlobUploadSession_表中看到前端(即android应用程序)已成功将图像发送到具有正确回调URL的blobstore.我知道servlet没有被调用,因为我在入口处有一个println语句.

我需要改变web.xml吗?我是否允许将端点与servlet结合使用web.xml

google-app-engine servlets blobstore gae-eclipse-plugin google-cloud-endpoints

8
推荐指数
1
解决办法
1300
查看次数

Google Cloud Endpoint不断抛出"意外的流结束"异常

有没有人知道为什么Google Cloud Endpoint unexpected end of stream甚至在我的app引擎实例实际到达之前就一直在抛出异常?当我调用我的端点时,我一直收到以下错误.在大多数地方,错误显示在每次其他呼叫之后; 在其他罕见的情况下,它是一致的.

05-06 18:32:28.335: W/System.err(11783): java.io.IOException: unexpected end of stream
05-06 18:32:28.343: W/System.err(11783):    at libcore.net.http.FixedLengthOutputStream.close(FixedLengthOutputStream.java:58)
05-06 18:32:28.343: W/System.err(11783):    at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:82)
05-06 18:32:28.343: W/System.err(11783):    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:980)
05-06 18:32:28.343: W/System.err(11783):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:412)
05-06 18:32:28.343: W/System.err(11783):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:345)
05-06 18:32:28.343: W/System.err(11783):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:463)
…

05-06 18:32:28.343: W/System.err(11783):    at android.os.AsyncTask.finish(AsyncTask.java:631)
05-06 18:32:28.343: W/System.err(11783):    at android.os.AsyncTask.access$600(AsyncTask.java:177)
05-06 18:32:28.343: W/System.err(11783):    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
05-06 18:32:28.343: W/System.err(11783):    at android.os.Handler.dispatchMessage(Handler.java:99)
05-06 18:32:28.343: W/System.err(11783):    at android.os.Looper.loop(Looper.java:137)
05-06 18:32:28.343: W/System.err(11783):    at android.app.ActivityThread.main(ActivityThread.java:4849)
05-06 18:32:28.343: …
Run Code Online (Sandbox Code Playgroud)

google-app-engine android gae-eclipse-plugin google-cloud-endpoints

7
推荐指数
1
解决办法
1472
查看次数

如何使用谷歌eclipse插件创建具有应用程序引擎模块的gwt gae

如何使用Java中的google eclipse插件创建一个包含模块的新GWT和GAE项目?我尝试使用eclipse创建一个新的Web应用程序,但它只是创建了一个没有模块的GWT和GAE项目.

谢谢.

java gwt google-app-engine maven-gae-plugin gae-eclipse-plugin

6
推荐指数
1
解决办法
1244
查看次数