2012-02-04 2 views
0

나는 안드로이드와 앱 엔진에 새로 온 사람, 나는 여기에 설명 된 단계에 따라, 안드로이드 프로젝트 연결 앱 엔진을 만들려고 해요 :앱 엔진 - 라이브러리 소스 첨부

http://code.google.com/intl/es-ES/eclipse/docs/appengine_connected_android.html

하지만 그것은 "Say Hello"단계 (Run & 디버그 : 7) C2DM을 사용하여 진행할 수 없습니다. SocketException ("프로토콜에 의해 지원되지 않는 주소 패밀리") 및 때때로 로컬에서 디버깅 할 때 RuntimeException을 표시합니다. 내가 아직 프로젝트를 커스터마이징하지 않았기 때문에 나는 그것을 얻지 못한다. 그러나 일부 디버깅 후에 나는 (프로젝트 생성시에 포함 된) 몇몇 라이브러리에 대해 불평하고있는 것을 보았다. 소스 첨부 파일 ... 가장 성가신 부분은 안드로이드 2.2 JAR에서 java.util.concurrent에 속하는 ThreadPoolExecutor.class에 대해 불평한다는 것입니다 ... 이상하지만 어쨌든 라이브러리를 소스에 첨부하고 계속 불평합니다 ("원본 첨부 파일에 ThreadPoolExecutor.class 파일의 소스가 없습니다.") ...

첫 번째 줄 실행시 Util.getRequestFactory() 메서드에서 충돌이 발생했습니다. 여기서는 requestfactory-client 라이브러리에 속한 RequestFactorySource의 메소드를 호출합니다.이 메소드는 프로젝트 생성시 포함되었지만 소스 첨부 파일없이 다시 호출됩니다 ... 그런데 메소드 호출을 실행 한 후 "task"변수는 null 값을 갖습니다 , 정상입니까?

나는 그것을 구성이나 뭔가의 작은 오류에 대한 추측,하지만 난 일 동안 고민 봤는데 나는 이미 무엇을 해야할지하지 않기 때문에 어떤 도움을 주시면 감사하겠습니다 :)

편집 : logcat 출력을 첨부하고 있습니다. 버그를 쉽게 찾을 수 있기를 바랍니다. 인터넷 검색 후 C2DM 샘플 프로젝트에서 일반적인 오류가 있다는 것을 알았지 만 적절한 솔루션을 얻지 못했습니다.

I/C2dmftwActivity( 333): onCreate 
    I/ActivityManager( 58): Displayed activity com.c2dmftw/.C2dmftwActivity: 1281 
    ms (total 1281 ms) 
    D/dalvikvm( 126): GC_EXPLICIT freed 997 objects/54032 bytes in 83ms 
    W/dalvikvm( 333): threadid=7: thread exiting with uncaught exception (group=0x4 
    001d800) 
    E/AndroidRuntime( 333): FATAL EXCEPTION: AsyncTask #1 
    E/AndroidRuntime( 333): java.lang.RuntimeException: An error occured while exec 
    uting doInBackground() 
    E/AndroidRuntime( 333):  at android.os.AsyncTask$3.done(AsyncTask.java:20 
    0) 
    E/AndroidRuntime( 333):  at java.util.concurrent.FutureTask$Sync.innerSet 
    Exception(FutureTask.java:273) 
    E/AndroidRuntime( 333):  at java.util.concurrent.FutureTask.setException(
    FutureTask.java:124) 
    E/AndroidRuntime( 333):  at java.util.concurrent.FutureTask$Sync.innerRun 
    (FutureTask.java:307) 
    E/AndroidRuntime( 333):  at java.util.concurrent.FutureTask.run(FutureTas 
    k.java:137) 
    E/AndroidRuntime( 333):  at java.util.concurrent.ThreadPoolExecutor.runWo 
    rker(ThreadPoolExecutor.java:1068) 
    E/AndroidRuntime( 333):  at java.util.concurrent.ThreadPoolExecutor$Worke 
    r.run(ThreadPoolExecutor.java:561) 
    E/AndroidRuntime( 333):  at java.lang.Thread.run(Thread.java:1096) 
    E/AndroidRuntime( 333): Caused by: java.lang.RuntimeException: The RequestFacto 
    ry ValidationTool must be run for the com.c2dmftw.client.MyRequestFactory Reques 
    tFactory type 
    E/AndroidRuntime( 333):  at com.google.web.bindery.requestfactory.vm.impl 
    .Deobfuscator$Builder.load(Deobfuscator.java:59) 
    E/AndroidRuntime( 333):  at com.google.web.bindery.requestfactory.vm.InPr 
    ocessRequestFactory.<init>(InProcessRequestFactory.java:80) 
    E/AndroidRuntime( 333):  at com.google.web.bindery.requestfactory.vm.Requ 
    estFactorySource.create(RequestFactorySource.java:43) 
    E/AndroidRuntime( 333):  at com.c2dmftw.Util.getRequestFactory(Util.java: 
    158) 
    E/AndroidRuntime( 333):  at com.c2dmftw.C2dmftwActivity$2$1.doInBackgroun 
    d(C2dmftwActivity.java:144) 
    E/AndroidRuntime( 333):  at com.c2dmftw.C2dmftwActivity$2$1.doInBackgroun 
    d(C2dmftwActivity.java:1) 
    E/AndroidRuntime( 333):  at android.os.AsyncTask$2.call(AsyncTask.java:18 
    5) 
    E/AndroidRuntime( 333):  at java.util.concurrent.FutureTask$Sync.innerRun 
    (FutureTask.java:305) 
    E/AndroidRuntime( 333):  ... 4 more 
    W/ActivityManager( 58): Force finishing activity com.c2dmftw/.C2dmftwActivit 
    y 
    W/GTalkService( 170): [GTalkConnection.13] doConnect: caught XMPPError connecti 
    ng to mtalk.google.com:5228.: (502) 
    W/GTalkService( 170): -- caused by: java.net.SocketException: The operation t 
    imed out 

답변

0

동일한 문제가 있다고 생각합니다. 유효성 검사 라이브러리가 누락되었습니다. 수동으로 추가 한 후 작동했습니다.

을 추가하거나이 할 포함 않다면 확인 :> 프로젝트> 특성> Java 빌드 경로> 라이브러리 탭에 마우스 오른쪽 버튼으로 클릭하여 GWT 설치 폴더에 외부 그런 다음 JAR 파일

브라우저를 추가합니다. eclipse로 설치 한 경우 Eclipse/plugins/com.google.gwt.eclipse.sdkbundle_/gwt-/validation-api-1.0.0.GA.jar에 있습니다.

작업 공간을 청소하고 다시 빌드하십시오.

이것은 클라이언트 측 GWT에서도 발생할 수 있습니다. 그렇게되면 당신은 같은 단지이 문제를입니다

0

에게 동일한 작업을 수행하지만 GAE 프로젝트를 사용하고 추가해야

Caused by: java.lang.RuntimeException: The RequestFacto 
    ry ValidationTool must be run for the com.c2dmftw.client.MyRequestFactory Reques 
    tFactory type 

당신이 GWT 2.4+를 사용하는 경우, 당신은 유효성 검사 도구를 실행해야합니다 . 이를 위해 Eclipse를 구성하면 다음과 같습니다.

http://code.google.com/p/google-web-toolkit/wiki/RequestFactoryInterfaceValidation