设定: Windows7,Eclipse 3.7.1,
步骤: 1.阅读并完成AppEngine连接android页面(google)中的所有教程
我按了菜单 - >刷新并获得以下异常(logcat):
02-13 00:55:09.015:E / AndroidRuntime(25572):致命异常:AsyncTask#1 02-13 00:55:09.015:E / AndroidRuntime(25572):java.lang.RuntimeException:执行doInBackground()时发生错误 02-13 00:55:09.015:E / AndroidRuntime(25572):在android.os.AsyncTask $ 3.done(AsyncTask.java:200) 02-13 00:55:09.015:E / AndroidRuntime(25572):at java.util.concurrent.FutureTask $ Sync.innerSetException(FutureTask.java:274) 02-13 00:55:09.015:E / AndroidRuntime(25572):at java.util.concurrent.FutureTask.setException(FutureTask.java:125) 02-13 00:55:09.015:E / AndroidRuntime(25572):at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:308) 02-13 00:55:09.015:E / AndroidRuntime(25572):at java.util.concurrent.FutureTask.run(FutureTask.java:138) 02-13 00:55:09.015:E / AndroidRuntime(25572):at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 02-13 00:55:09.015:E / AndroidRuntime(25572):at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:581) 02-13 00:55:09.015:E / AndroidRuntime(25572):at java.lang.Thread.run(Thread.java:1019) 02-13 00:55:09.015:E / AndroidRuntime(25572):引起:com.google.web.bindery.event.shared.UmbrellaException:捕获到一个或多个异常,请参阅UmbrellaException中的完整设置#getCauses 02-13 00:55:09.015:E / AndroidRuntime(25572):at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext $ StandardPayloadDialect.processPayload(AbstractRequestContext.java:387) 02-13 00:55:09.015:E / AndroidRuntime(25572):at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext $ 5.onTransportSuccess(AbstractRequestContext.java:1108) 02-13 00:55:09.015:E / AndroidRuntime(25572):at com.cloudtasks.AndroidRequestTransport.send(AndroidRequestTransport.java:68) 02-13 00:55:09.015:E / AndroidRuntime(25572):at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext.doFire(AbstractRequestContext.java:1102) 02-13 00:55:09.015:E / AndroidRuntime(25572):at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext.fire(AbstractRequestContext.java:569) 02-13 00:55:09.015:E / AndroidRuntime(25572):at com.google.web.bindery.requestfactory.shared.impl.AbstractRequest.fire(AbstractRequest.java:54) 02-13 00:55:09.015:E / AndroidRuntime(25572):at com.google.web.bindery.requestfactory.shared.impl.AbstractRequest.fire(AbstractRequest.java:59) 02-13 00:55:09.015:E / AndroidRuntime(25572):at com.cloudtasks.AsyncFetchTask.doInBackground(AsyncFetchTask.java:31) 02-13 00:55:09.015:E / AndroidRuntime(25572):at com.cloudtasks.AsyncFetchTask.doInBackground(AsyncFetchTask.java:1) 02-13 00:55:09.015:E / AndroidRuntime(25572):在android.os.AsyncTask $ 2.call(AsyncTask.java:185) 02-13 00:55:09.015:E / AndroidRuntime(25572):at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:306) 02-13 00:55:09.015:E / AndroidRuntime(25572):...还有4个 02-13 00:55:09.015:E / AndroidRuntime(25572):引起:java.lang.RuntimeException:服务器错误:null 02-13 00:55:09.015:E / AndroidRuntime(25572):at com.google.web.bindery.requestfactory.shared.Receiver.onFailure(Receiver.java:44) 02-13 00:55:09.015:E / AndroidRuntime(25572):at com.google.web.bindery.requestfactory.shared.impl.AbstractRequest.onFail(AbstractRequest.java:118) 02-13 00:55:09.015:E / AndroidRuntime(25572):at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext $ StandardPayloadDialect.processPayload(AbstractRequestContext.java:359) 02-13 00:55:09.015:E / AndroidRuntime(25572):... 14更多
当我尝试再次运行时,同样的过程,除了按菜单 - >刷新我试图添加新任务。这次我在logcat中没有看到任何异常,但是我在Eclipse中看到了(参见original question中的附图):找不到源代码 - ThreadPoolExecutor.java
请帮助我!
答案 0 :(得分:0)
我在使用本教程时遇到过类似的问题。我认为在他们发布代码之后,Google插件中的RPC服务发生了变化,因为现在它不再创建一个名为CloudTasksRequestFactory.java的类,而是拥有一个类CloudTasksRequest.java。此外,这两个类别非常不同:
CloudTasksRequestFactory.java
package com.cloudtasks.shared;
import com.google.web.bindery.requestfactory.shared.RequestFactory;
public interface CloudTasksRequestFactory extends RequestFactory {
TaskRequest taskRequest();
}
CloudTasksRequest.java
package com.cloudtasks.shared;
import java.util.List;
import com.google.web.bindery.requestfactory.shared.Request;
import com.google.web.bindery.requestfactory.shared.RequestContext;
import com.google.web.bindery.requestfactory.shared.ServiceName;
@ServiceName(value = "com.cloudtasks.server.CloudTasksService", locator = "com.cloudtasks.server.CloudTasksServiceLocator")
public interface CloudTasksRequest extends RequestContext {
Request<TaskProxy> createTask();
Request<TaskProxy> readTask(Long id);
Request<TaskProxy> updateTask(TaskProxy task);
Request<Void> deleteTask(TaskProxy task);
Request<List<TaskProxy>> queryTasks();
}
这让我相信有一些架构或逻辑发生了变化,无法使用更新的工具正确构建教程。您可能希望查看https://developers.google.com/eclipse/docs/appeng_android_add_rpc,它们在说明中似乎更新。