2012-03-24 236 views
0

我正在尝试构建一个App Engine连接的Android应用程序,并且在使用RequestFactory时遇到了一些问题。特别是我注意到DeobfuscatorBuilder出于某种原因在我的路径的开头附加了一个“L”。这里是我的日志:Google App Engine DeobfuscatorBuilder

03-24 14:56:44.789: I/dalvikvm(382): Failed resolving Lcsc440/nuf/shared/SMILMessageProxy;  interface 77 'Lcom/google/web/bindery/requestfactory/shared/ValueProxy;' 
03-24 14:56:44.789: W/dalvikvm(382): Link of class 'Lcsc440/nuf/shared/SMILMessageProxy;' failed 
03-24 14:56:44.789: W/dalvikvm(382): VFY: unable to find class referenced in signature (Lcsc440/nuf/shared/SMILMessageProxy;) 

我追查源头上谷歌的GWT SDK中的类 - com.google.web.bindery.requestfactory.apt.DescriptorBuilder

包含以下方法:

@Override 
    public String visitDeclared(DeclaredType x, State state) { 
    return "L" 
     + BinaryName.toInternalName(state.elements.getBinaryName((TypeElement) x.asElement()) 
     .toString()) + ";"; 
} 

这似乎是错的,但我是新手,任何帮助将不胜感激。

感谢

回答

0

类名称以L在JNI用于从C代码访问Java类 - "Ljava/lang/String"指类java.lang.Stringsource

因此,你得到的错误是在不本机代码找到课程csc440.nuf.shared.SMILMessageProxy

+0

太好了,谢谢。 – Brad 2012-03-25 15:38:46